Skip to content

Commit

Permalink
inital commit for M1
Browse files Browse the repository at this point in the history
  • Loading branch information
mvladic committed Apr 30, 2018
1 parent 15582a1 commit 49b18c1
Show file tree
Hide file tree
Showing 395 changed files with 106,846 additions and 27 deletions.
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
55 changes: 31 additions & 24 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,33 +1,40 @@
# Logs
logs
*.log
npm-debug.log*
eezstudio-linux-x64
eezstudio-win32-x64
eezstudio-darwin-x64
node_modules
npm-debug.log
typings

# Runtime data
pids
*.pid
*.seed
src/home/**/*.js
src/home/**/*.js.map
src/home/_stylesheets/main.css

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
src/instrument/**/*.js
src/instrument/**/*.js.map
src/instrument/_stylesheets/instrument.css
src/instrument/_stylesheets/window.css

# Coverage directory used by tools like istanbul
coverage
src/main/**/*.js
src/main/**/*.js.map

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
src/setup/**/*.js
src/setup/**/*.js.map

# node-waf configuration
.lock-wscript
src/shared/**/*.js
src/shared/**/*.js.map

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
src/shortcuts/**/*.js
src/shortcuts/**/*.js.map

# Dependency directory
node_modules
src/project-editor/**/*.js
src/project-editor/**/*.js.map
src/project-editor/_stylesheets/main.css

test

TODO.txt

# Optional npm cache directory
.npm
.cache-require-paths.json

# Optional REPL history
.node_repl_history
package-lock.json
.DS_Store
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package.json
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"tabWidth": 4,
"printWidth": 100
}
30 changes: 30 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main Process",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"args": ["."]
},
{
"name": "Debug Renderer Process",
"type": "chrome",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"runtimeArgs": ["${workspaceRoot}", "--remote-debugging-port=9222"],
"webRoot": "${workspaceRoot}/src"
}
]
}
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"files.exclude": {
".git": true,
".DS_Store": true,
"eezstudio-win32-x64": true,
"eezstudio-linux-x64": true,
"node_modules": true,
"libs": true,
"src/**/*.js": true,
"src/**/*.js.map": true,
"src/home/_stylesheets/main.css": true,
"src/instrument/_stylesheets/window.css": true,
"src/instrument/_stylesheets/instrument.css": true,
"src/project-editor/_stylesheets/main.css": true,
"src/extensions-manager/*.js": true,
"src/extensions-manager/*.js.map": true,
"instruments": true
},
"search.exclude": {},
"editor.formatOnSave": true,
"typescript.reportStyleChecksAsWarnings": false,
"typescript.autoImportSuggestions.enabled": false
}
19 changes: 19 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "typescript",
"tsconfig": "src\\tsconfig.dev.json",
"problemMatcher": [
"$tsc-watch"
],
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": false
}
]
}
11 changes: 11 additions & 0 deletions CONTRIB.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
You must attempt to send the modified documentation by email to any of the developers who have provided their email address in the list below. This is a good faith obligation - if the email fails, you need do nothing more and may go on with your distribution.

If you wish to be notified of modifications that others may make, include your email address in this file.

-----BEGINING OF THE MAILING LIST-----

Name - email
------------
Envox d.o.o. - [email protected]

-----END OF THE MAILING LIST-----
6 changes: 3 additions & 3 deletions LICENSE → LICENSE.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

{project} Copyright (C) {year} {fullname}
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Expand Down
72 changes: 72 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,73 @@
[![GitHub release](https://img.shields.io/github/release/eez-open/studio.svg)](https://github.com/eez-open/studio/releases)
[![license](https://img.shields.io/github/license/eez-open/studio.svg)](https://github.com/eez-open/studio/blob/master/LICENSE.TXT)

### 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)](http://rfc.zeromq.org/spec:22) process for contributions.
To report an issue, use the [EEZ Studio issue tracker](https://github.com/eez-open/studio/issues).


## Introduction

The EEZ Studio is an open source cross-platform modular visual tool aimed to address various programming and management tasks for [EEZ H24005](https://github.com/eez-open/psu-hw) programmable power supply and other test and measurement instruments that support SCPI.

### EEZ Studio Project Editor (ESP)

![ESP](images/esp_intro.png)

* 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](https://www.keysight.com/main/software.jspx?cc=US&lc=eng&ckey=2333687&nid=-11143.0.00&id=2333687) XML structure) suitable for EEZ Studio Workbench (ESW) and [Keysight Command Expert](https://www.keysight.com/en/pd-2036130/command-expert)
* SCPI command help generator based on bookmarked HTML generated directly from .odt file using [EEZ WebPublish](https://github.com/eez-open/WebPublish) extension for OpenOffice/LibreOffice.


### EEZ Studio Workbench (ESW)

![ESW](images/esw_intro.png)

* Dynamic environment where multiple instruments and other "widgets" can be placed and easily accessed
* **Session based 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. [ELN](https://en.wikipedia.org/wiki/Electronic_lab_notebook)s


## Installation

### Windows


### Linux


### Mac

1 change: 1 addition & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

13 changes: 13 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var gulp = require("gulp");
var uglify = require("gulp-uglify-es").default;
var pump = require("pump");

function minify(folder, cb) {
pump([gulp.src(folder + "/**/*.js"), uglify(), gulp.dest(folder)], cb);
}

gulp.task("minify", function(cb) {
minify("src", cb);
});

gulp.task("default", gulp.series("minify"));
Binary file added icon.ico
Binary file not shown.
Binary file added images/esp_intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/esw_intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions installation/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
win32_installation
83 changes: 83 additions & 0 deletions installation/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
const packager = require("electron-packager");
const os = require("os");
const fs = require("fs");
const path = require("path");

function getExtensions() {
var walkSync = function(dir, fileList) {
fileList = fileList || [];

fs.readdirSync(dir).forEach(function(fileName) {
const filePath = dir + "/" + fileName;
if (fs.statSync(filePath).isDirectory()) {
fileList = walkSync(filePath, fileList);
} else {
if (filePath.toLowerCase().endsWith(".zip")) {
fileList.push(filePath);
}
}
});

return fileList;
};

const extensions = walkSync("instruments");

extensions.push("../psu-firmware/eez_h24005_r3b4.zip");
extensions.push("../psu-firmware/eez_h24005_r5b12.zip");
extensions.push("../psu-firmware/eez_h24005_simulator.zip");

return extensions;
}

const extensions = getExtensions();
const extraResource = ["installation/init_storage.db"].concat(extensions);

const ignore = [
"\\.vscode",
"\\.gitignore",
"\\.prettierrc",
"tslint\\.json",
"npm-debug\\.log",
"TODO\\.txt",
"gulpfile\\.js",
"package-lock\\.json",
"\\.prettierignore",
"\\.editorconfig",
"notes\\.md",
"TODO\\.md",
"watch-less\\.js",
"wipe-dependencies\\.js",

".*.pdb",

"instruments/.*",
"installation/.*",
"test/.*",

"src/tsconfig\\.dev\\.json",
"src/tsconfig\\.json",
"src/.*\\.ts",
"src/.*\\.tsx",
"src/.*\\.js\\.map",
"src/.*\\.less",

"node_modules/better-sqlite3/build/Release/obj.*",
"node_modules/lzz-gyp/lzz-compiled/linux",
"node_modules/lzz-gyp/lzz-compiled/osx",
"node_modules/lzz-gyp/lzz-compiled/bsd"
];

const options = {
dir: ".",
platform: os.platform(),
arch: "x64",
asar: true,
prune: true,
overwrite: true,
icon: "icon.ico",
extraResource,
ignore
};

packager(options).then(appPaths => {});
Binary file added installation/init_storage.db
Binary file not shown.
Loading

0 comments on commit 49b18c1

Please sign in to comment.