Author Topic: Open source EEZ Studio for accessing your (SCPI) instruments  (Read 41562 times)

0 Members and 2 Guests are viewing this topic.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
I'm going to present here a EEZ Studio on which we are working for quite some time and first milestone (M1) is reached yesterday that is released and ready for evaluation.
The EEZ Studio is an open source cross-platform (developed in Electron) 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. Currently it has two main modules: EEZ Studio Project Editor (or ESP) and EEZ Studio Workbench (or ESW) and I'd like to cover in more details later module since it could be of interest for general audience not just owners of the EEZ H24005.

ESW version M1 quick facts
  • Dynamic environment where multiple instruments and other "widgets" can be placed and easily accessed
  • Session oriented interaction with each SCPI instrument
  • History of all activities with search/content filtering
  • 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
  • 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 (partial list)
  • 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
  • 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. so-called ELNs
Without going into more detail in this moment I'll show you in next post how is possible within 5 minutes to have ESW operational and help you to have all your interactions with instrument stored on one place and easily accessible.
« Last Edit: May 04, 2018, 12:32:56 pm by prasimix »
 
The following users thanked this post: BravoV, TiN, felixd, hammy, thm_w, Macbeth, kj7e, s8548a, Daruosha, julianhigginson, MikeP, Jacon, ghpicard, pgo, duckduck

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Installation and work with Rigol series 1000 DSO/MSO
« Reply #1 on: May 01, 2018, 09:44:33 am »
Installation

Visit EEZ Studio home page and move down to Download section with links to installation packages (with hash info) or visit GitHub directly and choose installation package for your operating system. When installation is finished successfully run EEZ Studio and it will create database where all activities are stored, and install a set of so-called instrument extensions for EEZ H24005, its simulator (if you can are interested, get it here) and various Rigol's 1000 series MSO/DSO.
When EEZ Studio is up and running ESW home page is displayed. You can go back to this page anytime using its icon in upper left corner. Installation will also add three instruments: EEZ H24005, its simulator and one generic SCPI instrument that could be used as entry point to any SCPI instrument that can be accessed using one of two currently supported interfaces.



Deleting and adding instruments

Instruments that are not needed can be easily removed from the ESW home page: just click on the instrument icon, and from right-click menu select Delete. Deleted instrument goes to “recycle bin” which appears in upper right corder as Deleted instruments. There you can restore instruments (and all interactions with it!) back to home page or remove it permanently.



Add instrument option in upper right corner allows you to add new instrument which has instrument extension installed (more about that in future posts). When selected, a list of all available instruments is displayed:



As an example Rigol DS1074Z-S will be added and few basic actions with it will be presented.



Right side of the ESW home page shows basic information about selected instrument that include available interfaces (supported in current ESW version) and its history.

Instrument session

When instrument is installed we are ready to start communicating with it. That can be done by selecting option Open SCPI terminal or with double-click on instrument icon when new session window dedicated to that instrument is opened. ESW support work with multiple instruments, therefore one session window is opened for each instrument.



Please pay attention to the following session window options and sections:
  • Header section contain information about instrument and connection status
  • Shortcuts section is displayed on the bottom. Shortcuts could come with instrument extensions or can be added by user
  • SCPI help can be reached by selecting the blue question mark option, in lower left corner
  • Command line for sending SCPI command is also displayed but it's disabled if connection with instrument is not established
Let's continue with establishing connection. In case of Rigol, ESW in this version could offer only Ethernet connection. Rigol is using non-standard port 5555 (instead of 5025) that we have to enter together with its IP address (192.168.10.124 in my case) and select Connect:



After the first successful connection we'll get something like this:



Take note that command line is now enabled and that connection status is changed. We can found in connection status section basic information about connection (e.g. IP address and port) and identification string received from instrument when standard *IDN? query is sent what represent the beginning of new session.
You can also see that all interaction are timestamped and all activities is recorded into instrument history.

Collecting measured data

Without spending any more time for explaining anything else, we are now ready to collect measurements! In case of Rigol we prepared two predefined shortcuts: Screenshot and Waveform data. They are assigned to function keys F2 and F3 respectively (and that can be modified!) or can be execute by clicking on their buttons down in the shortcuts section.
The Screenshot represent the most trivial and fastest way to collect measured data. Here is an example with two channels active:



Oops, I forgot to close connection info form, so here is another one :)



Received image is now stored into session history but it can be easily saved to disk or clipboard and we can add some note. The later option proved to be particularly useful: if you add a note shortly after making screenshot, about e.g. measurement conditions, expected and achieved results you are not risking to forgot a real meaning of it especially when multiple measurements are accomplished. All note content is searchable and you can quickly come back to the right measurement no matter of how many hours, days or months passed. An example of adding note:



Added note appears below image and it can be further edited or completely deleted.



Now, let's see what can we get with Waveform data shortkey. Contrary to previously presented Screenshot shortkey that is sending a simple sequence of two commands: STOP and DISP:DATA? Waveform data is a javascript that exchange multiple SCPI commands and raw data stored into Rigol's memory. Depending of number of active/displayed channels and selected timebase number of available samples could vary, but this script take care of all that so you just need to press F3 or click on it's button and we'll get the following:



This operation last for quite some time since it seems that Rigol has finite capability to make available samples for transfer and also limited output buffer. Therefore script has to ask for multiple chunks that are assembled into single graph before make it available on the screen. Hence multiple blue info boxes on the right side about script execution progress that will disappear shortly.
In this example we can see that sampling rate was 500 MS/s and that Rigol provided 1 200 000 samples (1.14 Mb) per channel. As in previous example it's possible to add a note to each graph/recording and now we are in better position to inspect received data more closely: just by clicking on the graph it will be displayed over the complete session windows:



Configure option opens entry form preloaded with data received from the Rigol:



If you are missing black background that you have on instrument, simply select it as shown on the picture that follows. That is a global option and will affect all other graphs.



Graph data can be now zoomed in and out and min-max is used as default rendering algorithm. Here is an example of zoomed in view:



Rigol, as I believe many others deploy various manipulations that data on the TFT LCD screen looks “better” or closer to analog scope. Therefore results taken as bitmap (screenshot) or presented as raw data could differ in appearance or “smoothness” or “sharpness” :). ESW for now, offers two other rendering algorithm average and gradually:





We can zoom-in extensively but not to infinity, or not beyond the limit of samples. If we go so far, each sample is starts to show as small ball connected with the “tail” to the zero for better indication that we reached sampling rate/resolution:



Data once transferred to the PC can be further processed using various math operations as today's DSO are doing in “realtime”. We believe that all what Rigol is already offering on the instrument will be add for offline processing in ESW.

Finally, for this basic presentation let's say a few words about before mentioned SCPI help:



Here we have all Rigol SCPI commands "indexed" and searchable. Displayed command can be copied directly into session's command line. When executed Rigol will sent its respond. In first attempt that was an error since channel number was not specified. ACQuire:MDEPth? followed and another query with correctly specified channel number:



When we don't need to work with instrument, we can close the connection using the Disconnect option, and that action will be also recorded into session history and displayed on the session window together with information about session duration:



I believe that this short presentation about basic operation with ESW will be inspirational enough for many of you to invest some time testing it, send us some feedback and even possibly decide to use it on the daily basis. Thanks a lot in advance for that!

*****************

A note about including support for Rigol DSO/MSO: the reason for that is quite simple, that's currently only 3rd party SCPI capable instrument available to us (and used in “lab” work) so it was used as a guinea pig for testing ESW features. Hopefully over the time the situation with more directly support for other vendors will be better, and possibly some of their representative/employees who are scanning this forum recognize even in this early stage the potential of ESW and offer/borrow us something from their product line. We are quite open for such possibility and I believe that could be a win-win combination for all of us without fear that such deal could possibly cannibalize software solutions they are already offering.
 
The following users thanked this post: jleg, luma, pgo

Offline julianhigginson

  • Frequent Contributor
  • **
  • Posts: 783
  • Country: au
Re: EEZ Studio for accessing your (SCPI) instruments
« Reply #2 on: May 01, 2018, 10:46:49 am »
Looks very cool! I'll give it a go with my H24005 soon.
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: EEZ Studio for accessing your (SCPI) instruments
« Reply #3 on: May 03, 2018, 05:25:51 am »
A quick note about "requirements" since some people asked for it: no middleware/driver (e.g. VISA, IVI, etc.) is needed to establish connection with Rigol scope over Ethernet. Just plug the cable, find its IP address and use it together with port 5555 to start connection.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
ESW additional functionality
« Reply #4 on: May 03, 2018, 07:01:30 pm »
Set/change instrument name (label) and session name

In this post I'll present more ESW functionality. Lets start with name of the instrument which is added on the Home page. When connection with the instrument is established for the first time, ESW will use instrument identification string queried with *IDN? Command. That string could be pretty long and can spent a lots of space, looking unnecessary messy. That can be easily rectified by entering a text string of your choice in field Label:



Now we'll continue by opening a new session with the same Rigol. This time Sessions list tab is selected on the right side of the page. Here is possible to add a name to the session (a newly created or previous one). That can help us in the future to find a content that we are searching for:



Just place cursor over the session row and edit option (pencil) will appear that when selected open a new entry form:



Adding data into the session

Session does not necessarily contain only data gathered during the interaction with an instrument. ESW currently also allows us to insert the following:
  • User note
  • File from disk (with file preview if possible)
  • Merging of more graph into new one


Select a Note icon to open an entry form for adding your note:



Note can, for example contain link to external content that will be opened with single click:





When an added file from the disk is recognized as image, ESW will also show its preview. (click on it to enlarge it to its original size):



You can use this option to import into the session (raw) data from some other measurement that resides on your disk (e.g. exported from other session) or someone sent it to you:





Merging of more graphs allows us to make a compilation of various measurements taken from few sessions. You can initiate it by choosing the Add chart option:



A list of available graphs that belongs to all sessions recored for selected instrument is displayed with check boxes on the left used for selection of graph that are of interest for us:



Select Add chart to finish your selection and a new graph will appear a the end of the current session:



Now we can see that Configure form of the newly compiled graph contains information for each of them. Here you can for example change the name (Label) of each trace to something else (by default channel numbers taken from origin are used):



Content search

Finally we can see what kind of data can be found searching thru sessions. Search operation is quite simple: just enter a few letters that contain a word of interest and ESW will start with listing all results: 



If searched term is found inside an inserted item it looks like this:



When we don't need Search, Calendar and Sessions list you can hide that part of the window.


Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #5 on: May 03, 2018, 07:24:42 pm »
seems like cool software, however download is very slow.. (around 15kbps)
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #6 on: May 03, 2018, 07:26:27 pm »
Thanks for your feedback. Do you mean download from instrument: a screenshot or memory capture?

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #7 on: May 03, 2018, 08:57:22 pm »
oh sorry for not being clear :) downloading from github..

third attempt... it also failed somewhere in the middle.
« Last Edit: May 03, 2018, 09:26:59 pm by JPortici »
 

Offline Mr.B

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #8 on: May 03, 2018, 09:12:52 pm »
Wow.
Very impressed.
I know what will be keeping me busy tomorrow.
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #9 on: May 03, 2018, 10:03:10 pm »
oooh i was finally able to download it..
impressive work :)
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #10 on: May 04, 2018, 06:46:46 am »
oh sorry for not being clear :) downloading from github..

third attempt... it also failed somewhere in the middle.

Oops, I didn't notice that while testing download. Possibly its depends of time of day/current load of GitHub.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
ESW additional functionality, Part 2
« Reply #11 on: May 05, 2018, 09:25:35 am »
A few words about "advanced" instrument session options:

Scripting

ESW allows us to create scripts to automate sending SCPI commands to the instrument. Currently two type of scripts are supported: a textual sequence of SCPI commands and Javascript code. List of available scripts (assigned to the Shortcuts described below) can be accessed using the icon on the left side of the session window.
Here is a simple example of script that contains a SCPI commands sequence:



When content of Rigol memory is accessed as described in one of previous post Javascript code is used because some programming logic with variables is needed when multiple SCPI commands and queries are exchanging with displaying progress status on the screen. Feel free to look and further modify this script (make an backup copy before that you can switch back in case of trouble):



Shortcuts

Shortcuts can be provided with the instrument extension but they can be also created by user (see column Group). Here is an example of list of all available shortcuts:



To add a new shortcut select Add shortcut. For example, we'd like to assign instrument self-test query (*TST?) to function key F10. If we don't want to assign any key to the shortcut (i.e. only want to have a button on the screen) already entered key can be cleared with option "x" next to Keybinding field. Some of the keys are intentionally not allowed to be used as shortcut (e.g. Del, Ins, PgUp, PgDn, etc.).
Since shortcut is used to call a script, you have to choose what type will be used (Action type) and in Action code you have to enter script code.



Added shortcut become visible in the lower part of the session window:



In this example we can see that group called "My group" is selected that is also user/custom defined group since shortcuts can be grouped for easier management of many shortcuts. To work with groups use Show groups option or to go back to shortcuts select Show shortcuts.

System settings

It was already mentioned that ESW will create database where all interaction with all instruments will be stored. We are using SQLite for storage and you can find its initial location under Settings reachable using the icon in lower left side of the ESW's Home page:



So, if you take care of your measurement add this database file into your backup scheduler, or move it into some of your folders that are already covered with backup routine. If database name or location is changed EEZ Studio need to be restarted, so in that case use Restart option.

Another parameter listed under system settings are Locale. Use it to change how datatime is displayed.
« Last Edit: May 05, 2018, 09:28:11 am by prasimix »
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Direct import of Keysight Offline Command Expert Command set
« Reply #12 on: May 05, 2018, 05:03:42 pm »
Here I'm going to demonstrate how is possible to import directly command set for a Keysight instrument that can be found in their Offline Command Expert Command sets.

First, if you don't have it locally, go to Keysight Offiline Command Expert Command Sets page and select Download (you'll be asked to register/login):



When downloaded, unzip it to the desired folder where it occupy about 1.3 Gb (!). Now you can start EEZ Studio and select in ESW module (default one) Extension manager by selecting its icon on the left side:



Use option Install Extension, and as an example we're going to install InfiniiVision 4000 X-Series Oscilloscope. My Offline Command sets are located in Downloads folder where I have to locate InfiniiVision4000X zip file:



When selected ESW will import it and it will appear as new added instrument extension:



Unfortunately this zip file does not include a picture of instrument, but that can be easily fixed by find it somewhere on the Net, e.g. one that is on the official instrument's page:



Right click on the picture, and we are ready to save it locally:



We can remove excessive surrounding white background (in any image editor) and add it using the Change image option when picture appear in instrument extension info:



Now, we can go back to the ESW Home page, select Add instrument option and select new added Keysight instrument from the list:



... and it will appear on the Home page:



Instrument is now ready for use (if it can be accessed by Ethernet telnet session :)) and we can see under SCPI help section complete list of available commands as imported from Keysight zip file:



Thanks in advance to anyone who is going to invest some time testing it with some Keysight instrument that can be reached by interfaces currently supported with this first version (i.e. EEZ Studio M1).
« Last Edit: January 14, 2019, 11:02:50 am by prasimix »
 
The following users thanked this post: morris6, skench

Offline morris6

  • Regular Contributor
  • *
  • Posts: 81
  • Country: nl
Re: Direct import of Keysight Offline Command Expert Command set
« Reply #13 on: May 07, 2018, 07:59:39 pm »

Thanks in advance to anyone who is going to invest some time testing it with some Keysight instrument that can be reached by interfaces currently supported with this first version (i.e. EEZ Studio M1).

Thanks for this "how to use guide".

Installing the extension for the Keysight 34461A was easy, following the example you gave.
So far I tested a few measurements and  a screen dump (HCOPy:SDUMp:DATA?), it works OK.
Next is to write a script for some data capture...

I have a question: Is it possible to erase a picture, screen dump, from the session history? It seems there are icons for save, clipboard and add note, but not for erase?
 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #14 on: May 07, 2018, 08:25:57 pm »
Looks great! Thanks a lot for that. Currently there is no possibility to remove anything from the session. I'm aware that such strict policy is not necessary in Hobbyist/DIYer lab but could be interesting in some other environment (that also require better security/user access control, etc.). Anyway, since everything is going into database, plan is to make it similar to what is already possible with deleted instrument: when you'd like to delete an item, in the first step it will be marked as deleted and will disappear, and in second it can be completely removed from the database. The first step is accompanied with the risk that "workflow" will be broken. That can make a testing/experimenting reconstruction after some time more difficult or even impossible. But that can be resolved with restore/undelete action from the "trash bin" as long as second step (purge) is not selected.

"Deleted items" will be just another type of data filter/view that can be used to narrow search over tons of data. I'll keep you posted about progress, we are just reached Milestone 1, and few more are waiting in the row :).

Offline HighVoltage

  • Super Contributor
  • ***
  • Posts: 5473
  • Country: de
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #15 on: May 08, 2018, 06:26:57 pm »
Thanks, looks great so far.
I will be testing your software soon.
There are 3 kinds of people in this world, those who can count and those who can not.
 

Offline s8548a

  • Regular Contributor
  • *
  • Posts: 116
  • Country: in
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #16 on: June 17, 2018, 05:15:04 pm »
Being using this software for a couple of days, amazing work  :-+

a couple of doubts:

when switching ON the PSU from standby, gets an error " **ERROR: 310,"List not found ", but the channel trigger mode is set to fixed only.

when clear protection command is given, all the channel protections are still enabled on the PSU display.

*RST command is not clearing the channel VA settings to default state (not verified about other settings). update:auto recall on power On settings under user profile.
« Last Edit: June 17, 2018, 05:55:19 pm by s8548a »
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #17 on: June 19, 2018, 07:02:43 am »
when switching ON the PSU from standby, gets an error " **ERROR: 310,"List not found ", but the channel trigger mode is set to fixed only.

Such error could happen when LIST is read from SD card but cannot be found (e.g. you deleted it or switch to other SD Card). All LISTs from profiles are stored in PROFILES folder using the following naming convention: LST_<CH_INDEX>_<PROFILE_LOCATION>.CSV
For example LIST on channel 1, profile 3 will be stored as LST_1_3.CSV

when clear protection command is given, all the channel protections are still enabled on the PSU display.

That's right. Clearing is not the same as disabling. "Clear protection" shortcut does just clearing. You can add SCPI commands for disabling it the same shortcut or define a new one.
 
The following users thanked this post: s8548a

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #18 on: June 20, 2018, 10:58:48 am »
Hello,

Some random thoughts from  a random user.
The EEZ software looks interesting to me as all SCPI instruments on the bench can be controlled from one place.
On top of this no big interface layers like ni-visa which I personal hate are used.
The software seems capable of doing simple but well looking reports with some organization in a calendar.
It can also import some basic commands from Agilent command set. 
All this is really nice. Thank you for the software!

Now, I am not into HTML and Java Script. I already can export data from my SCPI instruments using https://github.com/lxi-tools/lxi-tools
So EEZ Studio would be interesting to me if it supports my instruments or if it is easy to add support myself.
I have checked the Rigol DS1000 Waveform javascript and it doesn't look very obvious to me.
On top of that it seems that this script doesn't go in pure form in the github but rather in some strange file to me rigol_ds 1000b.eez-project
Suppose I want to add my instrument and update the EEZ Studio later. What is the procedure so I keep my additions and eventually contribute to the open source?

And now an example. I have Siglent SSA3021X spectrum analyzer.
With the general SCPI block I tested that it is recognized and that I can retrieve start frequency, stop frequency and for example trace 1 data.
See attached.

What my action java script will look like if I want just to plot this trace in dBm vs Frequency [Hz] ato-scaling the magnitude?
I believe an  example will be useful for others.

Thank you.
« Last Edit: June 20, 2018, 11:04:20 am by dpenev »
 
The following users thanked this post: prasimix

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #19 on: June 20, 2018, 11:41:41 am »
I also decided to test what morris6 has done.
I hit an issue. 
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #20 on: June 20, 2018, 12:03:37 pm »
Thanks for your feedback. Please note that EEZ Studio is even not in a "Beta" stage, we published what is done by reaching internally set first milestone (M1). A long journey is in front of us to make it not just attractive but also usable with many instruments. You are correctly noticed that what is now available and not listed as "generic instrument" need some extra work. We call it "instrument extension" as EEZ Studio already has everything included for making it. Currently we are storing there instrument identification info, picture, shortcuts and HTML help for supported/recognized SCPI commands. You can take a look by selecting File ...Open option and go to Instruments folder searching for file with .eez-project extension. For example, here is one of the pages that belongs to rigol_ds_mso_1000.eez-project file:



We are using internally developed Openoffice/Libreoffice extension (WebPublish, will be available soon on the GitHub) that convert .odt file to HTML in controlled manner. I spent some time to type in and bookmarking texts from Rigol's programming manuals. We are using special bookmark convention to easily process content of such HTML file. A collection of generated HTML files for mentioned "instrument extension" can be found used doc folder:



Unfortunately, a whole process is not documented yet, but my plan is to make a sort of "cookbook" how to create your own instrument extension.

The good thing is that EEZ Studio is now live on GitHub, so everyone is more then welcomed to participate in this moment at least with reporting errors found in M1, but also suggestions, wishes, etc. We'll try to add into our schedule what is reported and regarding your question about trace plotting I'd like to suggest you to open a new issue, and possibly attach there an graph example and we'll follow up with questions and solutions. We are working on the the M2 (Milestone 2) and progress and what is planned to be included can be tracked here.

In the meantime, we made a great progress in establishing USBTMC connection with Rigol scope. That is not so staightforward as Ethernet connection, but with a short readme it should be easily manageable for the most of people (hopefully still much easier then adding NI-VISA). Various content filtering is also added and it's possible to delete/purge/undelete any items from instrument history (with items counters!). We'd also like to add in the M2 a first group of "math" operations on acquired data.
Something what we possibly will need very soon (better then later) is making a session instrument independent or to promote existing session on certain instrument to such type of session. If such session type exists one could pick and choose results from multiple instruments, together with other external "items" (recorded video/audio/textual remarks, PDFs, images, datasheets, spreadsheets/tables, etc.). In that way, at the end, one can create a comprehensive lab report that can be easily converted in a job report for internal use or for end customer, for the publishing purpose, etc. That is in line with going toward modern ELN solution as mentioned in the first post.


Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #21 on: June 20, 2018, 12:07:23 pm »
I also decided to test what morris6 has done.
I hit an issue.

I need more input here: what script, script purpose, etc. That is obviously a bug, since EEZ Studio should exit gracefully in case of an error.

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #22 on: June 20, 2018, 02:25:06 pm »
Hello,

The script is:
HCOP:SDUM:DATA:FORM BMP
HCOP:SDUM:DATA?

The instrument is Keysight 24461A
 
I guess something related with the png conversion?


 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #23 on: June 20, 2018, 02:49:57 pm »
Quite possible. Does it generate .png or .bmp as HCOP:SDUM:DATA:FORM BMP suggested?

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #24 on: June 20, 2018, 03:55:13 pm »
I don't know this but note that it was working for morris6.
Have you changed anything since his version?
I am using Windows 10
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #25 on: June 20, 2018, 04:00:24 pm »
Currently only one version is released, that is M1. In the project master branch you can see that newer builds are available but its not released until we decide what will be delivered within the next release (M2). Therefore if you downloaded the same version as morris6 and you got that issue possibly the problem is someplace else. I don't know if morris6 also run it on the Win10 or not.

EDIT: Hm, from morris6 screenshot it seems that he is using EEZ Studio on Windows too. I have to ask my colleague who is in charge for development (that means next week since he went on vacation yesterday :).
« Last Edit: June 20, 2018, 04:02:38 pm by prasimix »
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #26 on: June 20, 2018, 07:58:14 pm »
OK, if you want me to test something please let me know.
 

Offline apblog

  • Regular Contributor
  • *
  • Posts: 108
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #27 on: June 21, 2018, 05:09:42 am »
This is very cool.

It makes me want to support SCPI on the debug serial port of a board I am designing.  This would be great for easily collecting data from the board.

Is the software able to load columnar data from the serial port, and save it as a CSV file?
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #28 on: June 21, 2018, 05:45:24 am »
In fact you don't need necessarily to support SCPI since you have to implement some kind of SCPI parsing/processing that could consume extra MCU time and memory. EEZ Studio is a sort of serial console when that interface is selected. Collected data, after they are stored into the database, can be presented in a various way and also exported in different formats. Exporting and collecting .csv (single column) are already accomplished. We have to add multiple column collection that is task #18 (fell free to add your comments and suggestion here and directly in GitHub).

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #29 on: July 03, 2018, 09:05:40 pm »
Hello,

The script is:
HCOP:SDUM:DATA:FORM BMP
HCOP:SDUM:DATA?

The instrument is Keysight 24461A
 
I guess something related with the png conversion?

You was right here there is an issue with bmp to png conversion. Please feel free to contact me by PM and I'll send you an intermediate build that address this issue. I assume that you'll need a 64-bit Windows version, right?

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #30 on: July 03, 2018, 11:14:19 pm »
correct
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #31 on: July 04, 2018, 12:12:52 pm »
Ok, I can also leave a link here (it will expire within few days from now). This is a 64-bit Win installation that should correct that problem. If you already have some important data captured with EEZ studio, just as precaution backup its database (storage.db) file first.

EDIT: This version does not rectify your problem. It's created that you collect bitmap from your instrument once again and send it to me for further inspection. Sorry for initial disinformation. 
« Last Edit: July 05, 2018, 08:52:37 am by prasimix »
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #32 on: July 05, 2018, 01:40:09 pm »
Hi prasimix,

I have uninstalled the previous release EEZ Studio and installed the one you have provided in the link above.
After staring the new EEZ Studio I had my old settings there (I have set up two instruments SSA3032X
and Keysight 34461A and I have removed the few power supplies instruments you manufacture which come pre-installed)
   
I have tested screen capture from Keysight 34461A and it is working now! See the picture.
I may have updated Java on my computer meanwhile (not really sure) so I have decided to test with the old version again
(especially as install/uninstall keeps my settings)
I have uninstaled the test version and have installed the official release, but on start I didn't got my configured instruments there. ;(

So I unistalled the release and installed the test version for the second time and all is working fine again.

Please let me know if you need some dumps to analyze.
I hope you will get some useful information from my test report.

Thanks
Dimitar
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #33 on: July 05, 2018, 02:53:10 pm »
Excellent! Don't worry about issue with configuration. When you started new version it was automatically updated database tables hence when you tried to use old one it cannot work correctly. You can leave a new one and despite the fact that images are now correctly displayed please send us for inspection one screenshot (use save icon bellow captured screenshot).

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #34 on: July 05, 2018, 03:34:28 pm »
here it is
 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #35 on: July 06, 2018, 01:23:51 pm »
Thanks, that helped us to find out where is the problem. Used graphical library has issue with certain internal organization of BMP file. It's now replaced with another one that should rectify that problem.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
M2 version is out
« Reply #36 on: August 30, 2018, 07:53:10 am »
The M2 version is released yesterday and ready for download (Linux, Mac, Win). Since imgur.com currently experienced a upload images major outage after the latest maintenance, I'll post more info (with pictures) shortly after they become operational again.
 
The following users thanked this post: morris6, rosbuitre, RoGeorge, s8548a

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: M2 version is out
« Reply #37 on: August 31, 2018, 09:57:21 am »
Ok, it seems that situation with imgur.com has been stabilized. Here and in few posts that follows I'll try to give a brief description of major changes in M2 version.

Navigation and general settings

Now, by default when instrument is selected and opened from the Home page, a new instrument tab will be created. Here is an example of home page and four instrument tabs:



You can open as much as you wish tabs, but if you'd still need to move instrument in a separate window you can do that by right click on instrument tab and select “Open in window” option:



Under “Settings” tab of the Home page you can now set “Locale” that is currently offer few date format and single time format for the selected country:



Search and content filtering

Search and content filtering allows you to faster navigate thru the content. Content filtering represents a list of various items (content types) and it can grow in the future as new items will be introduced. A new option for show or hide the right part of the window has been also added.



Content search open a new “panel” (Search results) where you can see the results. When item is selected it will be also displayed in the instrument “activity log” (left side). When search using entered phrase is time consuming then progress info will be displayed and result counter will be update accordingly.



Panels on the right side of the instrument window can be rearranged to share displayed space, and it can be even arranged as multiple tabs (it’s currently missing for Home page but it’s already assigned for M3 in #36). If you want to change location of a panel simply click, drag and move it to some other part of that screen area.



Deleting items

Items from the instrument activity log can be now also deleted. Simply click on the item or more of them using Shift and Ctrl keys and select Trash bin icon:



Note that deleted item will be in this step only marked as deleted and disappear from activity log. If selected instrument has deleted items you can access its “trash bin” using the following option:



Here you have possibility to see what items are marked as deleted, you can select one of more items to be undeleted or purged (permanently removed):



If you want to purge all trash bin content click somewhere in activity log outside of any item and the following option will appear:



Please note that this operation cannot be withdrawn. Use "Back" option to close trash bin section.
« Last Edit: August 31, 2018, 10:00:28 am by prasimix »
 
The following users thanked this post: s8548a

Offline Zucca

  • Supporter
  • ****
  • Posts: 4308
  • Country: it
  • EE meid in Itali
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #38 on: August 31, 2018, 11:44:37 am »
Impressive....

What about GPIB SCPI? for example using an agilent usb GPIB 82357b?

Sorry in advance if it was a stupid question.
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #39 on: August 31, 2018, 12:05:38 pm »
Nothing is stupid in your question, indeed. Everything started with GPIB and it's still around. Our current problem is that we don't have access to any instrument equipped with GPIB interface. I tried few times to find something as second-, third-, any-hand on the eBay but without success. Other possibility is to locate somewhere in our close proximity (actually Zagreb, Croatia, that unfortunately isn't a hi-tech zone) and try to do some development work. I'm also not aware about any T&M rental service that covers Croatia (that is for some time now part of EU). In one or another way it should be based on sort of GPIB to USB or GPIB to Ethernet bridge similar to one that you mentioned or something else (preferably open source if you ask me).

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: M2 version is out
« Reply #40 on: August 31, 2018, 02:02:55 pm »
Sessions and history

Working with sessions is now different. The major change made is that session is not related to an instrument anymore. Session, that could represent a test case, an experiment, etc. could include work with various instruments and when new session is opened, all items exchanged with instrument will belong to that session. It you don't care about session you can simply ignore it: select and establish connection with instrument and start use it.
We are planning in future releases to add importing, exporting, printing (with some per-formatting) of sessions that could simplify reporting, exchanging results with your peers or sending it to us to simplify debugging of found issue, etc.

To open a new session use the “Start session” when you give session a name. You don't need to open any instrument to start a new session hence it is opened from the Home page.



When opened, the session name will be displayed in the top right corner and info about newly opened session will be inserted into instrument “activity log”. The session will remain opened until “Close” option is not selected and confirmed.



The list of all sessions is available from “History” tab on the Home page (second from the top). If session list is not visible select icon on the top right, or Show/hide arrow on the window splitter:



Obviously the instrument session history from now on do not necessary include what is displayed in general history, and for accessing instrument history you have to open instrument tab:



USBTMC connection

A new USBTMC type of connection is added. Unfortunately this one is not so straightforward as serial or Telnet session. For Windows you have to create USB driver for your instrument, if you don't have it already. Fortunately that is not a big task thanks to Zadig. Just install and run it, select you instrument from the list and connected USB devices and choose “Install WCID Driver”.
On the Linux it seems that due to some kernel “bug” or whatever, it is not possible to establish connection with PC that has newer USB host controller (3.0?). For older one you probably have to follow the procedure that is nicely described here under USB connection section. We didn't check what's going on on Mac so far, so if someone of you have a chance to check it please let us know.
If USB driver is properly installed and recognized, USBTMC option will appear in the instrument’s list of interfaces and to open an USBTMC connection you have to specify instrument USB VID and PID:



When connection is established you'll get info about that in the instrument activity log and you can continue to work with instrument as in case of other connections (i.e. serial or Telent/Ethernet):



PDF preview

If PDF is uploaded into activity log it’s “thumbnail” will be now displayed:



Click on it and the PDF viewer will be opened with possibility to browse thru its content, zoom in/out and rotate page orientation:

« Last Edit: September 01, 2018, 10:33:09 am by prasimix »
 
The following users thanked this post: s8548a

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: M2 version is out
« Reply #41 on: September 01, 2018, 10:33:58 am »
Extensions repository

So-called Instrument extensions that contains information about instrument’s SCPI command sets and parameters that EEZ Studio can use for better working with instruments are now migrated to the GitHub repository. That should simplify procedure of adding support for new instruments created by community members that has access to instruments not currently supported. We are planing to draft a first specification how to do that in M3 version.
The “View” combo-box offer various selection to the extensions:



Now, when EEZ Studio is started, it will try to make a connection to GitHub and check if new extensions or newer version of existing extensions exists. You can also initiate that procedure in any time by selecting “Update catalog” option:



… and you’ll be informed about the status of the operation:



From now on, not only instrument extensions can be added, but also extensions that accomplishes other tasks as "Advanced measurements" extensions shown above. But, since that one is still work in progress scheduled to be completed in M3 (#16) I'm not going into more details about it.

That's all about new features of the M2, I do believe that some of you will invest some time and attention to check it and come back with some feedback. Thanks!
 
The following users thanked this post: morris6, RoGeorge, s8548a, julianhigginson

Offline ghpicard

  • Contributor
  • Posts: 15
  • Country: ar
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #42 on: September 03, 2018, 10:11:38 pm »
This seems to be a great tool.  :-+
I'm already working on some macros for my HP 54516B and HP 54542A. Not precisely state of the art but yet very capable.
I will use the serial port for the communications.
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #43 on: September 04, 2018, 07:20:17 am »
Hi prasimix,

Great progress!
M3 will be  a major mailstone for me.

Keep up the good work.
 

Offline s8548a

  • Regular Contributor
  • *
  • Posts: 116
  • Country: in
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #44 on: November 30, 2018, 08:00:05 am »
Hi prasimix,

I have messed up with my EEZ Studio installation(Win7x64) when I tried to change the Rigol DS1054z interface from Ethernet to USBTMC, Studio just gone blank with an empty white window.
Uninstalled and reinstalled with Appdata folder contains only the storage.db, The scope were showing with a question mark only and when clicked again blank screen appears.

Put back the backup Appdata folder and created a new scope instrument with interface USBTMC and it gives an error - "LIBUSB_ERROR_NOT_SUPPORTED" -how to resolve this?
Is my old measurement data gone? how to recover it?

Thanks.
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #45 on: November 30, 2018, 09:51:24 am »
Hi, don't worry about your data, they are in your storage.db, but your instrument is not installed/found. But, before (re)installing instrument, please provide a screenshot when blank screen appears by selecting a Toggle Developer tools from View menu:


Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #46 on: November 30, 2018, 10:06:53 am »
Out of curiousity, where do the instrument definitions end up being stored on windows? I wouldn't mind filling out a definition for the siglent 1204x-e to help this project.
 

Offline s8548a

  • Regular Contributor
  • *
  • Posts: 116
  • Country: in
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #47 on: November 30, 2018, 10:27:51 am »
Please find attached the Developer tools view screenshot:
 

Offline s8548a

  • Regular Contributor
  • *
  • Posts: 116
  • Country: in
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #48 on: November 30, 2018, 10:33:51 am »
Please find attached the Developer tools view screenshot:

 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #49 on: November 30, 2018, 02:32:02 pm »
Thanks, it seems that you have a problem with selected interface (i.e. USBTMC). For Win version you need to generate an USB driver for your instrument. But, before that first try to fix instrument icon in Studio. For that you have to install that instrument (from Extension manager tab), and after restart proper instrument icon should appear. After that you change interface from USBTMC to serial or Ethernet and check if you can see instrument's data.

Please open a new issue on the GitHub and attach there screenshot from your previous post.
 
The following users thanked this post: coromonadalix, s8548a

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #50 on: November 30, 2018, 02:40:33 pm »
Out of curiousity, where do the instrument definitions end up being stored on windows? I wouldn't mind filling out a definition for the siglent 1204x-e to help this project.

Thanks again Rerouter for your interest and previous contributions to EEZ projects. Yes, it's possible to add a new instrument with its own set of scripts/shortcuts and SCPI commands manual. We've planned to include into M3 step by step instructions how to do that, but if you are interested to start something even before, please let me know and I can prepare for you instructions how to do that.

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6202
  • Country: ro
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #51 on: November 30, 2018, 05:46:50 pm »
Just discovered the topic and played with EEZ Studio for about an hour.

What an amazing tool, THANK YOU!  :-+

Can hardly wait for M3, especially the doc for defining new instruments from scratch.  Until then, I'll try this weekend to define new extensions for a Rigol DP832 (Programmable DC Power Supply with 3 channels) and Rigol DG4102 (DDS Function/Arbitrary Waveform Generator with 2 channels).  If there are already hints/docs/help files about how to create a new extension, please kindly point me to them.

Again, thank you, so far I love this tool.
 
The following users thanked this post: prasimix, n3mmr

Offline s8548a

  • Regular Contributor
  • *
  • Posts: 116
  • Country: in
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #52 on: November 30, 2018, 06:16:35 pm »
Hi prasimix,

I just played a bit with Agilent U1252A (it is not a full featured SCPI device) and EEZ Studio with the information found from another thread and commands found from:
 https://sigrok.org/wiki/Agilent_U12xxx_series

I don't know about the data logging part, may be a java-script expert can do?

Please tell how to add this as an extension with image of the device.

 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #53 on: December 01, 2018, 07:35:47 am »
Just discovered the topic and played with EEZ Studio for about an hour.

What an amazing tool, THANK YOU!  :-+

Can hardly wait for M3, especially the doc for defining new instruments from scratch.  Until then, I'll try this weekend to define new extensions for a Rigol DP832 (Programmable DC Power Supply with 3 channels) and Rigol DG4102 (DDS Function/Arbitrary Waveform Generator with 2 channels).  If there are already hints/docs/help files about how to create a new extension, please kindly point me to them.

Again, thank you, so far I love this tool.

Great to see you here RoGeorge (and thanks for give us screen capture), it seems that I have to speed up writing instructions how to add a new instrument. I'll try to make some in coming days, please stay tuned.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #54 on: December 01, 2018, 07:53:38 am »
Hi prasimix,

I just played a bit with Agilent U1252A (it is not a full featured SCPI device) and EEZ Studio with the information found from another thread and commands found from:
 https://sigrok.org/wiki/Agilent_U12xxx_series

I don't know about the data logging part, may be a java-script expert can do?

Please tell how to add this as an extension with image of the device.

Please note that currently is not possible to change icon of a generic instrument. Regarding data logging, some scripting would be required (possibly simpler for internal and more complex for external logging).
 
The following users thanked this post: s8548a

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #55 on: December 02, 2018, 10:31:06 am »
Looking forward to your write up, I have gotten most of my scopes written up in your current XML formats, but the definition is an invalid link and it seems its not fully implemented?

Things like synopsis of a function, a command format, or making a clear way to deal with mandatory and optional terms
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
0.9.1 (M3) version is released
« Reply #56 on: December 31, 2018, 02:07:50 pm »
Hi everyone, just a quick notice that the latest milestone (M3, v0.9.1) is just published and available on the GitHub for download and evaluation. I didn't manage to include step-by-step instructions how to add a new instrument, but I'll try to keep up with the promise and start to write about it here in the coming days. I'll also post screenshots about newly added features. Thanks in advance for your attention and possible comments and questions.
 
The following users thanked this post: Rerouter, Kean, RoGeorge, s8548a

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6202
  • Country: ro
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #57 on: January 02, 2019, 07:28:37 pm »
Installed the Linux deb version on Ubuntu 18.10, then grabbed a screenshot from a Rigol DS1054Z.

All working, THANK YOU!  :clap:



If writing a 'How to define an extension for a new type of instrument, step by step' is too time consuming for the current developing stage, maybe you can just record the screen while you re-create a very popular instrument, like Rigol DS1054Z, then post the video on YouTube.  Something casual, for developers, not marketing-level video production (eventually you can post the video as unlisted).

A simple walk through will be enough at first, in order to understand the steps and the main idea, without describing each and every button and field. 



Just a small note for the SCPI commands that are sent by the 'Screensshot' button of the EEZ Studio (Rigol DS1054Z family extensions):

For the DS1054Z (and probably all the Rigol 1000Z oscilloscopes family), there is no need to send an SCPI 'STOP' before 'DISP:DATA?'.  The ':STOP' is sometimes mandatory (e.g. for ':WAVeform:DATA?'), but 'DISP:DATA?' can capture the screen while the oscilloscope is in the RUN mode.  Without the STOP before screenshot, the oscilloscope will preserve the RUN or STOP mode before and after the screenshot.



Another thing, it was not possible for me to edit the commands sent by the 'Screenshot' button, yet it was possible to add a new button for sending only a 'DISP:DATA?' (without the preceding STOP command).  The newly created button is working as expected.

I guess some files from the 'Rigol DS1104Z' extension were deployed as read only.



Good idea to make a separate repo for the instruments (extensions only).
So far, great job!  :-+
« Last Edit: January 02, 2019, 07:38:57 pm by RoGeorge »
 

Offline bicycleguy

  • Frequent Contributor
  • **
  • Posts: 265
  • Country: us
Re: 0.9.1 (M3) version is released
« Reply #58 on: January 02, 2019, 11:52:26 pm »
Hi everyone, just a quick notice that the latest milestone (M3, v0.9.1) is just published and available on the GitHub for download and evaluation. I didn't manage to include step-by-step instructions how to add a new instrument, but I'll try to keep up with the promise and start to write about it here in the coming days. I'll also post screenshots about newly added features. Thanks in advance for your attention and possible comments and questions.

New years resolutions  :-+
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #59 on: January 03, 2019, 04:46:00 am »
A simple walk through will be enough at first, in order to understand the steps and the main idea, without describing each and every button and field. 

Another thing, it was not possible for me to edit the commands sent by the 'Screenshot' button, yet it was possible to add a new button for sending only a 'DISP:DATA?' (without the preceding STOP command).  The newly created button is working as expected.

There are 3 main files for the definition, the .idf .sdl and the package.json

The idf atleast to me, seems to be the most basic stuff, like the error handling,

The sdl is where you define every single little detail about all the commands for the help tree, what parts are optional, what is required, and defining the return data type, though its unclear how one would fully flesh this out for commands with multiple parameters

and the package.json is where all the built in commands like the ones you want to edit are baked in to, but can be opened with a text editor, and the script you want to edit is baked into some oddly formatted java script (seems to be mainly things for a parser?? e.g. newlines and escaped text)

Using this I have so far made a definition with an image for the siglent 1000X-E's, but its not fully fleshed out, bloody thing has some 415 SCPI commands, 70% of which where undocumented.
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #60 on: January 03, 2019, 02:58:52 pm »
First, I'd like to announce a hot fix for M3 release (0.9.2) since few minor issues were found when working with project in ESP. It is relevant only for people who is willing to try to create or edit instrument extensions.


If writing a 'How to define an extension for a new type of instrument, step by step' is too time consuming for the current developing stage, maybe you can just record the screen while you re-create a very popular instrument, like Rigol DS1054Z, then post the video on YouTube.  Something casual, for developers, not marketing-level video production (eventually you can post the video as unlisted).

A simple walk through will be enough at first, in order to understand the steps and the main idea, without describing each and every button and field.


Sorry for not responding faster regarding delivering of instrument extension creation instructions, but I planned to start that process in a day or two. I'm trying to finish some other things before Chinese New Year celebration begins :). Thanks for suggestion about making a video with screenshot sequence. I'll take that into account.
 
Just a small note for the SCPI commands that are sent by the 'Screensshot' button of the EEZ Studio (Rigol DS1054Z family extensions):

For the DS1054Z (and probably all the Rigol 1000Z oscilloscopes family), there is no need to send an SCPI 'STOP' before 'DISP:DATA?'.  The ':STOP' is sometimes mandatory (e.g. for ':WAVeform:DATA?'), but 'DISP:DATA?' can capture the screen while the oscilloscope is in the RUN mode.  Without the STOP before screenshot, the oscilloscope will preserve the RUN or STOP mode before and after the screenshot.



Another thing, it was not possible for me to edit the commands sent by the 'Screenshot' button, yet it was possible to add a new button for sending only a 'DISP:DATA?' (without the preceding STOP command).  The newly created button is working as expected.

I guess some files from the 'Rigol DS1104Z' extension were deployed as read only.

That's right. Currently we have STOP command in shortcut that comes with Rigol instrument extension, and you can in the meantime easily override it by creating your own shortcut and hide or delete one that comes from instrument extension. Here is instructions for other members how to do that and what you probably accomplished successfully:

First, open your instrument and make sure that you're in "Terminal" tab where you can check what shortcuts are currently visible:



If you move to "Shortcuts" tab you can see a list of currently available user defined shortcuts and one that comes with instrument extension. In this table you can see which one is selected to be visible in the toolbar and from here you can remove or edit selected shortcut.
Please note that shortcut that comes with instrument extension once deleted can be restored only by reinstallation of instrument extension.



If you don't want to delete it you can select it and deselect it's presence on the toolbar. Also it's possible to remove its assigned key (F2 in example below):



Now, you can define your own shortcut using "Add shortcut" green button, when an entry form will appear:



When the old shortcut that comes with instrument extension is deselected and a new one is added shortcut list will looks like this:



Finally when you move back to "Terminal" tab a new toolbar will appear:



Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #61 on: January 03, 2019, 03:34:00 pm »
A simple walk through will be enough at first, in order to understand the steps and the main idea, without describing each and every button and field. 

Another thing, it was not possible for me to edit the commands sent by the 'Screenshot' button, yet it was possible to add a new button for sending only a 'DISP:DATA?' (without the preceding STOP command).  The newly created button is working as expected.

There are 3 main files for the definition, the .idf .sdl and the package.json

The idf atleast to me, seems to be the most basic stuff, like the error handling,

The sdl is where you define every single little detail about all the commands for the help tree, what parts are optional, what is required, and defining the return data type, though its unclear how one would fully flesh this out for commands with multiple parameters

and the package.json is where all the built in commands like the ones you want to edit are baked in to, but can be opened with a text editor, and the script you want to edit is baked into some oddly formatted java script (seems to be mainly things for a parser?? e.g. newlines and escaped text)

Using this I have so far made a definition with an image for the siglent 1000X-E's, but its not fully fleshed out, bloody thing has some 415 SCPI commands, 70% of which where undocumented.

There is no need to dig into any of above mentioned files :). That's why ESP part of the EEZ Studio exists.
Anyone who is eager to see how instrument extension "source" looks like, before step-by-step instructions is not ready, I can suggest to open one of the existing project for our EEZ H24005 power supply, currently supported Rigol scopes. In addition to that M3 version is now capable to import as a project a Keysight Command Expert offline command set zip file. A whole library (over 1GB) is freely available from here.
For example, let's say that you'd like to see how instrument extension looks like for Rigol DSO/MSO1000 family. Clone or download studio-extensions repository, and then in ESW choose File > Open... option and select org/rigol/rigol_ds_mso_1000/rigol_ds_mso_1000.eez-project file from your local disk where you clone or download repository.



And you are there... feel free to explore all menus for which I have to tell you how to use it properly :).

If you'd like to import any of Keysight command set as an ESP project, go back to ESW and this time select File > Import instrument definition... option:



Select .zip file of interest and if it's valid Keysight package a new selection form will appear:



Select Project and new ESP window will appear with parameters extracted from Keysight package. Choose Workbench extension option if simply want to add "compiled" instrument extension for selected Keysight instrument as already described in the post #12.

Offline TiN

  • Super Contributor
  • ***
  • Posts: 4543
  • Country: ua
    • xDevs.com
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #62 on: January 03, 2019, 04:14:52 pm »
prasimix

Quote
Our current problem is that we don't have access to any instrument equipped with GPIB interface. I tried few times to find something as second-, third-, any-hand on the eBay but without success. Other possibility is to locate somewhere in our close proximity (actually Zagreb, Croatia, that unfortunately isn't a hi-tech zone) and try to do some development work. I'm also not aware about any T&M rental service that covers Croatia (that is for some time now part of EU). In one or another way it should be based on sort of GPIB to USB or GPIB to Ethernet bridge similar to one that you mentioned or something else (preferably open source if you ask me).

Not sure if there was any progress on GPIB side , but I have quite a fleet of instruments with GPIB that I can help to test with, if the support there. Currently I use my GPIB interfaces on linux machines (RPi) so I don't know much on what is needed (smallest/easiest libraries /etc) to make it work on Windows. Also I'm far from software world, but can do basic scripting coding to help testing.

I have industry NI GPIB-USB-HS dongles and Agilent 82357B dongle to test with, and also few Agilent E5810A GPIB-LAN gateway (visible on Windows just like LXI device over ethernet, that gateways "gpib0,N" parameter to the specific N GPIB instrument).
If you think it's helpful, I can send you 82357B dongle (free of charge) for development, as I don't use it anymore.

Once you get GPIB interfacing, i'll be happy to invest time and help adding Keithley, HP/Agilent/Keysight, Fluke and Wavetek/Datron instruments into your promising EEZ Studio.
YouTube | Metrology IRC Chat room | Let's share T&M documentation? Upload! No upload limits for firmwares, photos, files.
 
The following users thanked this post: prasimix, s8548a

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #63 on: January 03, 2019, 04:23:42 pm »
Many thanks TiN for your generous offer. Yes, having access to GPIB adapter will be definitely a great step toward adding meaningful integration of GPIB channel into the EEZ Studio. I can send you in PM my address.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
New features in M3
« Reply #64 on: January 04, 2019, 02:32:13 pm »
I'll present here some of new features added into M3 version.

Database housekeeping

Under Settings on the Home page is now possible to compact database, which can grow considerable over the time:



EEZ Studio will remind you (with small red indicator on the Settings icon) once a month to perform database compression. When Compact database is finished, a small summary will be displayed as shown below. Size reduction is not significant in my case since I've performed compression recently.



Exchanging session items using notebooks

Notebooks allows you to export or import selected items from the instrument session, and combine items from more instrument sessions on the single place. That could be beneficial for exchanging information with other EEZ Studio users. To initiate creation of new notebook, select one or more items from instrument session first. A new icon will appear in upper right corner called Export selected history items to notebook:



That option offers three possibility. If you'd like to exchange your data with other user select Export as notebook file. Two other options can be used to export items to new or existing notebook within EEZ Studio.



If notebook is exported into file (with .eez-notebook extension), the following new message will be displayed:



Working with notebooks is possible by selecting Notebooks tab on the Home page:



Here you can add a new notebook or import it from file, for example import notebook file:





For testing purposes, above mentioned test notebook file is zipped and attached in this post that you can for test import and display it in your EEZ Studio. Please first unzip it since forum does not allow attachment with any extension type.
 
The following users thanked this post: s8548a, AlanS

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
New features in M3 (cont.)
« Reply #65 on: January 04, 2019, 04:30:19 pm »
Combine graphs

A new graph can be added into instrument session that include two or more graphs. That feature could be interesting when graph comparison is needed or you want to perform math operation that require more then one signal (see below). To start adding a new graph, select Add chart option in the upper right corner:



A new message for graph selection is displayed:



All graphs that belongs to instrument session history will be displayed with check box for selection. We'll select two graphs in our example:



Confirm with blue button Add chart and new item that combine selected graph will be added at the end of the instrument session history:



Graph measurements (math operations)

If session item type is graph directly acquired from instrument, or imported as file it is possible now to perform a first batch of math operations on it. Please note that this is a still under development, we are still missing a lots of important operations and performance and capability of currently supported is a subject for further improvements. To enter graph, you have to click on when cursor shape is changed to "preview" (not select it, we have currently an issue with that which is reported as #57 in GitHub!). We'll use newly created graph just mentioned above and get the following:



Here we can see a new added selection Add measurement in Measurements tab. Please note that you can select and move any of the available tabs and rearrange them to serve you better.
For example we can add A - B measurement (note that Y-axis resolution can be changed just in one direction, that is reported as #55):



FFT is also added, but has performance issue, and we'll try to use some library written in C/C++ to improve calculation speed. Its performance is also heavily dependent of number of used samples. Currently we are working will all samples within selected area. We have to find a way how to use selected samples from complete stream without significantly affect resulting spectrum appearance.
Other issue is related to selected duration. We can see that on 1 kHz sinewave generated with Rigol signal generator (set to 5 Vpp, 0 V offset). If the sampling rate is huge (1 GSPS) and selecting only about one period FFT (rectangle) spectrum looks like this (also note that more then one measurement type can be visible simultaneously):



Calculated frequency is pretty accurate: 1.012 KHz. But, if we select on the same graph more then a single period, we'll get the following:



Calculated frequency is now 1.318 KHz. More predictable results can be expected if more periods are included into selection that presume also lower sampling rate. The same sinewave measured on the same instrument with 125 MSPS will looks like this:



A word about graph navigation. When graph is opened for the first time its displayed as Zoom default option is selected:



Zoom all option will try to display it as big as possible, in our case amplitude (y-axis) resolution will be changed:



You can select with a cursor part of the graph to zoom into it (displayed it as big as possible on x-axis). Simply click on the first point, drag and release to the second point. Here is how that could looks like before releasing the mouse button:



It's possible to enable or disable X-axis and Y-axis rulers (see Rulers tab). In that case cursor selection define part of the graph that will be used for measurements. In that case selection boundaries will looks a little bit different (bold white lines):



Click inside selection to move it inside graph, or select boundary line to resize it.

Finally note about graph export: you can save it as file using Save option beneath graph (visible when you exit preview mode in instrument session history). In that case graph will be saved in raw format an in our case it will generate a 7.5 MB file size. But if you'd like to exchange graph with other EEZ Studio users, use Export as notebook file option described in previous post. In that case the same file will be compressed and only 18.6 KB in size.









Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
EEZ Studio 0.9.3 (M3 Hot Fix 2) release and instruction guide for creating IEXT
« Reply #66 on: February 25, 2019, 04:24:15 pm »
After so many delays and preoccupations with other tasks, I've managed to finish first draft of instruction guide how to create an IEXT (Instrument extension) for the EEZ Studio. Instructions are available here, and .odt files are committed to GitHub here. Thanks in advance to anyone who is willing to improve that text for better understanding.

I'd like to announce also the 0.9.3 release (M3 Hot Fix 2) that include few essential fixes and improvements that process of creating IEXT can be possible.

Finally, I've also set up EEZ Discord server (mind that Discord has desktop client too where you can enter invitation link!) that possibly could speed up communication about creating an IEXT, but also for general discussion about EEZ Studio and other open source projects.

 
The following users thanked this post: Kean, RoGeorge, s8548a

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #67 on: February 26, 2019, 09:19:13 am »
Hello,

After about a year I have decided to check the progress of this very promising software.
I have decide to test with the SSA3032X instrument.
I have installed the extension SSA3032X without issues and it is shown as "installed"

I can connect to the instrument and send basic scpi commands but my shortcuts and scripts are empty.
Is it seems SSA3032X extension is empty. correct?
I will try to add some shorcuts but for the script related with https://github.com/eez-open/studio/issues/31 I may need some help
   
Thnaks
Dimitar
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #68 on: February 26, 2019, 09:44:34 am »
Hi Dimitar, you're right, the Siglent IEXT is "half baked" and is missing some SCPI subsystems, and shortcuts and scripts, too.
But, the :HCOPy:SDUMp:DATA? that does not follow SCPI standard for transferring data block is implemented. For start, please let me know if it now can return meaningful data.

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #69 on: February 27, 2019, 10:12:58 am »
Hello,

Yes I already confirmed that :HCOPy:SDUMp:DATA? is working fine with SSA3032X instrument.
I may try to add some shortcuts to set the f_start, f_stop, RBW and detector. 

Do you think making vector plots as for Rigol scopes is complex to be implemented?
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #70 on: February 27, 2019, 12:10:34 pm »
dpenev, take a look at the new project editor, looks like we should be able to even script up a full UI for the things if we needed to,

to prasimix, Very stupid question, but with SCPI is there anyway to have the prefix be a variable, e.g. C1, C2, C3, C4, for C1:BWL, when I approach it with digital channels it blows things out very quickly,
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #71 on: February 28, 2019, 09:35:36 am »
Hi Rerouter,

Thanks. I have checked the project editor but I am not sure if this is what I need.
I need to be able to include vector chart/plots for my SSA3032X to be able to zoom and export to CSV things (for example) which seems to be made for the Rigol scopes.
And this is not that I need this desperately but I think this is required to make this tool more useful for SSA3032X
Being able to dump the screen and adding few shortcuts which I plan to do is already a step forward.

As for the project editor I have to admit that I don't get the idea.
Is it going to help me with achieving the above goals I have mentioned?

Thanks
Dimitar
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #72 on: February 28, 2019, 09:51:55 am »
Sorry, I should explain better as I am learning it myself aswell for a SDS1104, Currently it doesn't appear to natively support vector plotting, I missed that point, However It could likely be added as a GUI option in a later version,

Most of the shortcuts are Javascript based, so with some massaging I'm working to get the graphing working with the siglent scopes, (pretty much just formatting it in the correct way) from that point its just pipe to the correct GUI element, However for your currently requested display mode, I recommend adding an issue to the github project.

https://github.com/eez-open/studio/issues
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #73 on: February 28, 2019, 12:06:34 pm »
Thanks Rerouter,

I have added an issue an year ago actually.

However we have to thank the developers for their work so far and start helping I believe. :)
I will see what I can do next few weeks for SSA3000X
 
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #74 on: February 28, 2019, 12:45:34 pm »
OK I have decided to give it a try with a shortcut
All is meant to be super easy so good.
Unfortunately I am complete dump with Javascript.

I saw how to create edit box in javascript from Internet and tried this:

var fstart = prompt("Enter the Start Frequency", "");
connection.command(`:FREQuency:STARt ${fstart}`);

The EEZ studio however said that "prompt() is and will not be supported".
What is the suggested way to make simple  edit box so I can enter one or few parameters if the shortcut/script requires it?
connection.command(`:FREQuency:STARt 1e3`); works so I am half way there. ;)
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #75 on: February 28, 2019, 04:51:44 pm »
I'll try to follow up on the recent discussion between @dpenev and @Rerouter. First, please note that current function for drawing graph is more or less in line with scope data, but can be to some extent used with data received from other sources.
Graph functions already accept (i.e. recognize) various data formats. For example, I can import file that is generated by Audacity (as RAW headless .wav, 64-bit float) that looks like this in Audacity:



On the ESW side, we can use Attach file option ...



.. and import it into the instrument Terminal.



We have to select proper format of imported data using Configure option, otherwise graph cannot be displayed properly:


Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #76 on: February 28, 2019, 05:09:01 pm »
Some idea how to use JavaScript code within ESW can be found in shortcuts that were already implemented in couple of existing IEXTs, like importing data from Rigol's memory (rigol_waveform_data.js), or starting a datalogging on EEZ H24005 (eez_psu_dlog_start.js).
An example of simple edit box can be found here: enter_start_frequency.js that we can use in a new shortcut:



... that will appear in the list of shortcuts:



... and become visible on the instrument's Terminal, where we'll also open a Debug console on the right (Ctrl+Shift-I or using View ... Toggle Developer Tools option):



When we select the newly added shortcut a new edit box will appear where we can insert e.g. 4000:



... and that value will become visible in Debug console, that is currently the only way to debug scripts:


Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #77 on: February 28, 2019, 08:31:50 pm »
Hi Prasimix,

My Fstart shortcut now looks like bellow:
I have few questions inside the code in the comments.
The edit box input() default value doesn't appear whatever I try.
Could you please comment ?
Do I need to add some more EEZ dependent stuff?

var defaultValues = {
    starFrequency: 1000
};

var values = await input({
    title: "Enter Start Frequency",
    fields: [
        {
            name: "startFrequency",
            displayName: "Start frequency",
            type: "number"
        }
    ]
}, defaultValues); //How to pass the default values?

if (!values || (values.startFrequency !== values.startFrequency)) {
    //session.deleteScriptLogEntry(); //Do I need this?
    return;
}
   
connection.acquire(); //Do I need this?   
connection.command(`:FREQuency:STARt ${values.startFrequency}`);
connection.release(); //Do I need this?

console.log(values); //Do I need this?
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #78 on: March 01, 2019, 10:19:10 am »
The following code contain an error, for default frequency startFrequency should be used (that's the answer why default value didn't work):

Code: [Select]
var defaultValues = {
    starFrequency: 1000
};

Don't know how you came up with this code:

Code: [Select]
if (!values || (values.startFrequency !== values.startFrequency)) {
    //session.deleteScriptLogEntry(); //Do I need this?
    return;
}

... but something like this is applicable:

Code: [Select]
if (!values) {
    // user clicked on Cancel button
    return;
}

The following lines are required, so the answer is, yes:

Code: [Select]
connection.acquire(); //Do I need this?
connection.release(); //Do I need this?

Please give us some time, and Martin will try to prepare for you a script skeleton that could be used for collecting data from your instrument.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #79 on: March 01, 2019, 10:53:55 am »
Hi again, in add_chart_sample.js you can see how to create a graph from comma separated values that Siglent should generate with TRACe:DATA? command as you reported in #31.

Code: [Select]
var defaultValues = {
    startFrequency: 1234
};

var values = await input({
    title: "Enter Start Frequency",
    fields: [
        {
            name: "startFrequency",
            unit: "frequency",
            displayName: "Start frequency",
            type: "number"
        }
    ]
}, defaultValues);

connection.acquire();

await connection.command(`FREQuency:STARt ${values.startFrequency}`);

var data = await connection.query("TRACe:DATA? 1");

session.addChart({
    description: "This is description",
    data,
    samplingRate: 1000, // 1000 samples per second
    offset: 0,
    scale: 1,
    format: 4, // CSV string
    unit: "frequency",
    color: "rgb(255,250,205)", // line color on black backround
    colorInverse: "rgb(51,51,0)", // line color on white background
    label: "This is y-axis label"
});

connection.release();

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #80 on: March 01, 2019, 12:32:44 pm »
Quote
The following code contain an error, for default frequency startFrequency should be used (that's the answer why default value didn't work):

Code: [Select]
var defaultValues = {
    starFrequency: 1000
};
[/code]

Oh it is not only my lack of javascript experience. It seems I have to go and check my eyes ;)

Quote
Don't know how you came up with this code:

Code: [Select]
if (!values || (values.startFrequency !== values.startFrequency)) {
    //session.deleteScriptLogEntry(); //Do I need this?
    return;
}

I came up to this myself as a way to check if any value is entered (it is not NaN) and if cancel is pressed.
It seems this is working for me.   

Quote
... but something like this is applicable:

Code: [Select]
if (!values) {
    // user clicked on Cancel button
    return;
}
This code doesn't check for empty box + Enter but with working defaults I think it is not an issue.

Quote
The following lines are required, so the answer is, yes:

Code: [Select]
connection.acquire(); //Do I need this?
connection.release(); //Do I need this?

Please give us some time, and Martin will try to prepare for you a script skeleton that could be used for collecting data from your instrument.

Thank you very much!
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #81 on: March 01, 2019, 12:34:24 pm »
Hi again, in add_chart_sample.js you can see how to create a graph from comma separated values that Siglent should generate with TRACe:DATA? command as you reported in #31.

Code: [Select]
var defaultValues = {
    startFrequency: 1234
};

var values = await input({
    title: "Enter Start Frequency",
    fields: [
        {
            name: "startFrequency",
            unit: "frequency",
            displayName: "Start frequency",
            type: "number"
        }
    ]
}, defaultValues);

connection.acquire();

await connection.command(`FREQuency:STARt ${values.startFrequency}`);

var data = await connection.query("TRACe:DATA? 1");

session.addChart({
    description: "This is description",
    data,
    samplingRate: 1000, // 1000 samples per second
    offset: 0,
    scale: 1,
    format: 4, // CSV string
    unit: "frequency",
    color: "rgb(255,250,205)", // line color on black backround
    colorInverse: "rgb(51,51,0)", // line color on white background
    label: "This is y-axis label"
});

connection.release();

Thank you. I will try this as a second step after I finish my simple shortcut buttons.
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #82 on: March 04, 2019, 09:41:31 am »
Hello I have created a few shortcut buttons for SSA3032X.
Attached is the project file and the extension

I want to implement a drop down list selection.
Is this supported and if yes can you give an example?

   
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #83 on: March 04, 2019, 10:01:53 am »
I want to implement a drop down list selection.
Is this supported and if yes can you give an example?

Yes, check an example here: enter_start_frequency.js

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #84 on: March 04, 2019, 02:36:10 pm »
OK I have prepared a pull request with some ssa shortcuts. More stuff on the way.

Sent from my MI NOTE Pro using Tapatalk

 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #85 on: March 06, 2019, 08:58:27 am »
Many thanks for making first change in Siglent's spectrum analyzer IEXT. I can see now the following shortcuts:



I believe that in next version you'll add a script to capture its internal memory data that EEZ Studio can recognize as a graph data.
Looking forward that other members follow your example and contribute with new IEXTs for instruments that they have on their benchtops.

Please take into account that I've added the following notice in GitHub's readme.md:
Quote
IMPORTANT: Please insure that your pull request include IEXT's .zip file with version suffix that is higher then the latest listed in IEXT catalog (i.e. this repository). Do not increase .zip version suffix manually, define it in project file that Build procedure can add it automatically (see Extension definitions).


Online 2N3055

  • Super Contributor
  • ***
  • Posts: 6637
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #86 on: April 11, 2019, 07:53:13 pm »
Hi!

Import for Keysight DSOX3000T (InfiniiVision3000X_7_11-v1.zip) is not right.
It imported just few commands.

Regards,
 
The following users thanked this post: prasimix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #87 on: April 19, 2019, 06:25:34 am »
Hi!

Import for Keysight DSOX3000T (InfiniiVision3000X_7_11-v1.zip) is not right.
It imported just few commands.

Regards,

Thanks for reporting this. We didn't know that some Keysight instrument package could have more then one .SDL file. Mentioned package include two and commands that belongs to second file are not imported. I've opened a new issue for that in GitHub (#71) and we'll fix that in the next release.
 
The following users thanked this post: 2N3055

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 6637
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #88 on: April 19, 2019, 07:04:14 am »
Hi!

Import for Keysight DSOX3000T (InfiniiVision3000X_7_11-v1.zip) is not right.
It imported just few commands.

Regards,

Thanks for reporting this. We didn't know that some Keysight instrument package could have more then one .SDL file. Mentioned package include two and commands that belongs to second file are not imported. I've opened a new issue for that in GitHub (#71) and we'll fix that in the next release.


Thanks!

If you need help testing let me know.
Regards,
Siniša
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #89 on: November 21, 2019, 11:19:02 am »
Dear all, If you find EEZ studio interesting and useful and would like to help in some way to further develop it, here's an opportunity to do so by making a small donation to it in the crowdfunding campaign currently underway. Thanks in advance to everyone, just spreading the word about the campaign can help.
 
The following users thanked this post: dpenev

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #90 on: November 24, 2019, 06:20:03 pm »
A short video that shows how to start collecting data from your scope in a couple of minutes:


Offline dpenev

  • Regular Contributor
  • *
  • Posts: 189
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #91 on: November 27, 2019, 01:57:43 pm »
Hello,

I am very glad that EEZStudio has got a good progress.
Especially the post processing of the numerical data! 
 
Any plants to work on https://github.com/eez-open/studio/issues/31 or your main concern now are the scopes and power supplies?
Any plans to expand the current scripting support?

Please keep up the good work!
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #92 on: November 27, 2019, 02:13:02 pm »
Hello,

I am very glad that EEZStudio has got a good progress.
Especially the post processing of the numerical data! 
 
Any plants to work on https://github.com/eez-open/studio/issues/31 or your main concern now are the scopes and power supplies?

It's very difficult to do any work without equipment and feedback. Many months ago I was documented how to create IEXT (instrument extension) but it seems that no one so far didn't find it interesting to invest some time trying to add support for new instrument.

Any plans to expand the current scripting support?

MicroPython will be part of the EEZ BB3 project, and it's possible that we also add it on the EEZ Studio side. Currently we are busy trying to put as much as possible features in the EEZ BB3 firmware (presuming that crowdfunding will be successful) so with our limited resources I cannot say when the next EEZ Studio version (M4) will be released.

I'd also like to thank the two backers who have donated to EEZ Studio so far.

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #93 on: December 15, 2019, 09:19:59 am »
The EEZ Studio latest build got its first implementation of MicroPython for EEZ BB3.




The crowdfunding is still active, please consider making a small donation to make the EEZ studio even better and more usable for various other instruments.

 
The following users thanked this post: Rerouter, Qw3rtzuiop, s8548a

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #94 on: April 28, 2020, 07:26:00 am »
Hello!
I'm playing around with Java-script in EEZ Studio and my EEZ H24005 from the crowdfunding.
I'm also a total beginner on Java-script...

Is it possible to read a measurement from the instrument into a variable?
I can read the value, but I'm not able to get into a variable.

This works, and display the measurement:
Code: [Select]
connection.acquire();
connection.command('MEAS:CURR? CH1');
connection.release();

This also displays the measurement, but I got nothing in my variable:
Code: [Select]
var chargeCurr

connection.acquire();
chargeCurr = connection.command('MEAS:CURR? CH1');
connection.release();

console.log(chargeCurr);


Is it possible to use DLOG and redirect the value into a variable instead of a file?


What I'm playing with here, as just a goal for education, is to make a simple charger for a 18650 LiPo-cell.
1. Output 4.2V, 1,5A
2. Switch off the output then the current drops below 150 mA
3. Switch off the output if it still on after 4h
« Last Edit: April 28, 2020, 07:32:23 am by Pjoms »
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #95 on: April 28, 2020, 08:03:38 am »
Hello Pjoms!

You need to await for command to finish, like this:

Code: [Select]
var chargeCurr

connection.acquire();
chargeCurr = await connection.command('MEAS:CURR? CH1');
connection.release();

console.log(chargeCurr);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
 
The following users thanked this post: Pjoms

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #96 on: April 28, 2020, 12:49:18 pm »
Thanks! Another major thing was the need to use connection.query instead of connection.command.

chargeCurr = await connection.query(`MEAS:CURR? CH1`);

 
 
The following users thanked this post: prasimix

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #97 on: April 29, 2020, 07:20:15 am »
Now I'm in some deep water here, as a totally beginner in Java Script...
I have copied the code for the input dialog from the script "Dlog start" and modified it for my purpurs.
It went quite well, but suddenly, and for me without any obvious reason, the script stopped to work.

After some frustrating, testing, more frustrating and testing (without knowing what I'm doing or what the error messages means...) it turns out that it works just fine if I just change the name for the storage.getItem!
My best guess is that it is an array that has been messed up some way.
I'm using the EEZ PSU software simulator ver. v1.1 as instrument by the way.
Can someone bring some light over my confusion here...?


The original lines in Dlog start
Code: [Select]
var defaultValues = storage.getItem("EezDlogValues", {
...
storage.setItem("EezDlogValues", values);



My lines that not working anymore
Code: [Select]
var defaultValues = storage.getItem("LiPoChargeValues", {
...
storage.setItem("LiPoChargeValues", values);


If I just change the name, the code works...
Code: [Select]
var defaultValues = storage.getItem("LiPoChargeValuesX", {
...
storage.setItem("LiPoChargeValuesX", values);



The console give me this messages then I try to run the script, but I'm afraid that I'm not able to understand much of it...
Code: [Select]
Uncaught TypeError: Cannot read property 'toFixed' of undefined
    at Object.roundNumber (C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\roundNumber.js:11)
    at TimeUnit.formatValue (C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\units.js:19)
    at TimeUnit.formatValue (C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\units.js:116)
    at GenericDialog.props.dialogDefinition.fields.forEach.fieldProperties (C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:49)
    at Array.forEach (<anonymous>)
    at new GenericDialog (C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:47)
    at zf (C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:127)
    at Wg (C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:163)
    at ah (C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:176)
    at hi (C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:221)
roundNumber @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\roundNumber.js:11
formatValue @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\units.js:19
formatValue @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\units.js:116
GenericDialog.props.dialogDefinition.fields.forEach.fieldProperties @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:49
GenericDialog @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:47
zf @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:127
Wg @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:163
ah @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:176
hi @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:221
ii @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:222
Ki @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:238
fi @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:234
uf @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:232
Si @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:252
Ti @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:252
Yi.render @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:260
(anonymous) @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:263
Qi @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:249
aj @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:263
render @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:265
showDialog @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\dialog.js:125
Promise @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:260
showGenericDialog @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\generic-dialog.js:259
resolve @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\script.js:23
input @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\script.js:22
(anonymous) @ VM536:16
(anonymous) @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\script-engines\javascript.js:20
(anonymous) @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\script-engines\javascript.js:7
__awaiter @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\script-engines\javascript.js:3
run @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-shared\script-engines\javascript.js:12
doExecuteShortcut @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\script.js:224
executeShortcut @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\script.js:253
executeShortcut @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\terminal\terminal.js:257
executeShortcut @ C:\Program Files\EEZ Studio\resources\app.asar\dist\instrument\window\terminal\toolbar.js:76
onClick @ C:\Program Files\EEZ Studio\resources\app.asar\dist\eez-studio-ui\action.js:26
da @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:14
ka @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:15
la @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:15
ya @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:17
Ca @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:18
Aa @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:18
Fa @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:21
Gd @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:84
Pi @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:249
Nb @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:39
Jd @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:86
Ri @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:250
Id @ C:\Program Files\EEZ Studio\resources\app.asar\node_modules\react-dom\cjs\react-dom.production.min.js:85



I don't know if this means anything, but sometimes then I just scrolling in the code the console spits out a burst of messages like this.
Code: [Select]
Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.
    at a.scrollLines (index.min.js:1)
    at p.$renderChanges (index.min.js:1)
    at index.min.js:1
scrollLines @ index.min.js:1
$renderChanges @ index.min.js:1
(anonymous) @ index.min.js:1
requestAnimationFrame (async)
schedule @ index.min.js:1
scrollToY @ index.min.js:1
onScrollTopChange @ index.min.js:1
n._signal @ index.min.js:1
setScrollTop @ index.min.js:1
$computeLayerConfig @ index.min.js:1
$renderChanges @ index.min.js:1
(anonymous) @ index.min.js:1
requestAnimationFrame (async)
schedule @ index.min.js:1
scrollToY @ index.min.js:1
onScrollTopChange @ index.min.js:1
n._signal @ index.min.js:1
setScrollTop @ index.min.js:1
scrollBy @ index.min.js:1
onMouseWheel @ index.min.js:1
n._emit.n._dispatchEvent @ index.min.js:1
onMouseWheel @ index.min.js:1
(anonymous) @ index.min.js:1
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #98 on: April 29, 2020, 07:40:27 am »
Nothing is wrong with the "LiPoChargeValues" name per se. Problem is what is currently stored under that name in local storage. For some reason it contains invalid value for some of the fields. Can you open console, print the contents of "LiPoChargeValues" like this:

Code: [Select]
console.log(JSON.stringify(storage.getItem("LiPoChargeValues")))

and send here the result.
 

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #99 on: April 29, 2020, 08:27:58 am »
The console returns the follow:
Code: [Select]
{"startCurrent":1.5,"stopCurrent":0.1,"maxChargeTime":10}
It turns out that if I use these exact variabels the script work, but if I change a name or add an other variable it dosen't work anymore.
Then if I change the name as I mentioned before, the code works again. After that it looks like it is "locked" to this structure.

It also looks like those values lives even outside the actual script, eg it is possible to access from another script.
Is there a need or a way to clear or reset the string/array someway then changes are done?
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #100 on: April 29, 2020, 09:32:50 am »
Can you send me the part of the script with fields definition and "await input", basically everything between "storage.getItem" and "storage.setItem".
 

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #101 on: April 29, 2020, 09:43:02 am »
You are so welcome.
It is practically a plain copy of the start of the "Dlog start" script.


Code: [Select]
var defaultValues = storage.getItem("LiPoChargeValues", {
    startCurrent: 1.5,
    stopCurrent: 0.1,
    maxChargeTime: 10,
});

var values = await input({
    title: "Start Dlog",
    fields: [
        {
            name: "startCurrent",
            displayName: "Charging current",
            unit: "current",
            validators: [validators.rangeInclusive(0.1, 5)]
        },
        {
            name: "stopCurrent",
            displayName: "End ocf charge current",
            unit: "current",
            validators: [validators.rangeInclusive(0.01, 0.5)]
        },
        {
            name: "maxChargeTime",
            displayName: "Max charging time",
            unit: "time",
            validators: [validators.rangeInclusive(1, 86400000)]
        }
    ]
}, defaultValues);

if (!values) {
    session.deleteScriptLogEntry();
    return;
}

storage.setItem("LiPoChargeValues", values);

session.scriptParameters = values;

 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #102 on: April 29, 2020, 10:07:45 am »
Let me give you some explanations first (sorry if you already know this):

The purpose of "storage.getItem" and "storage.setItem" is to remember (inside local storage which is kept even after Studio restarts) the last parameters that you entered, so when you start script again you will be greeted with same parameters you used last time. If you don't need this feature you can remove it, so your script can look like this:

Code: [Select]
var defaultValues = {
    startCurrent: 1.5,
    stopCurrent: 0.1,
    maxChargeTime: 10,
};

var values = await input({
    title: "Start Dlog",
    fields: [
        {
            name: "startCurrent",
            displayName: "Charging current",
            unit: "current",
            validators: [validators.rangeInclusive(0.1, 5)]
        },
        {
            name: "stopCurrent",
            displayName: "End ocf charge current",
            unit: "current",
            validators: [validators.rangeInclusive(0.01, 0.5)]
        },
        {
            name: "maxChargeTime",
            displayName: "Max charging time",
            unit: "time",
            validators: [validators.rangeInclusive(1, 86400000)]
        }
    ]
}, defaultValues);

if (!values) {
    session.deleteScriptLogEntry();
    return;
}

session.scriptParameters = values;

Also, to answer your question, any script can access this local storage items with "storage.getItem". Check this: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

Now, If I start the script code you send me everything works fine on my computer. But, If I change the script slightly I can see the same error as you. This is changed script:

Code: [Select]
var defaultValues = storage.getItem("LiPoChargeValues", {
    startCurrent: 1.5,
    stopCurrent: 0.1,
    maxChargeTime: 10,
});

var values = await input({
    title: "Start Dlog",
    fields: [
        {
            name: "startCurrent1", // "startCurrent" renamed to "startCurrent1"
            displayName: "Charging current",
            unit: "current",
            validators: [validators.rangeInclusive(0.1, 5)]
        },
        {
            name: "stopCurrent",
            displayName: "End ocf charge current",
            unit: "current",
            validators: [validators.rangeInclusive(0.01, 0.5)]
        },
        {
            name: "maxChargeTime",
            displayName: "Max charging time",
            unit: "time",
            validators: [validators.rangeInclusive(1, 86400000)]
        }
    ]
}, defaultValues);

I changed "startCurrent" to "startCurrent1". The error is because defaultValues doesn't contain the value for "startCurrent1". But if I put "startCurrent1" inside defaultValues, everything is ok again:

Code: [Select]
var defaultValues = storage.getItem("LiPoChargeValues", {
    startCurrent1: 1.5, // now, we have the value for "startCurrent1"
    stopCurrent: 0.1,
    maxChargeTime: 10,
});

var values = await input({
    title: "Start Dlog",
    fields: [
        {
            name: "startCurrent1",
            displayName: "Charging current",
            unit: "current",
            validators: [validators.rangeInclusive(0.1, 5)]
        },
        {
            name: "stopCurrent",
            displayName: "End ocf charge current",
            unit: "current",
            validators: [validators.rangeInclusive(0.01, 0.5)]
        },
        {
            name: "maxChargeTime",
            displayName: "Max charging time",
            unit: "time",
            validators: [validators.rangeInclusive(1, 86400000)]
        }
    ]
}, defaultValues);

Maybe you also changed the fields definition for the input, but forget to change defaultValues?
 

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #103 on: April 29, 2020, 11:23:13 am »
Thanks, that clarify and confirm a lot of what I was assuming.
But I'm afraid I'm still banging my head pretty hard here...  |O

I have tried some more, and from what I can understand it looks like the deal breaker here is if I chose Cancel or Ok in the dialog box!
As long as I click Cancel in the dialog box then I run the script the storage seems still undefined and I can change anything. But as soon I click Ok the values stores and that storage structure seems unable to be changed by modifying the input variabels, eg. change startCurrent to startCurrent1.

If I choose a new name for the storage, eg. change LiPoChargeValues to LiPoChargeValues1, it works again with the new variables.

I tried to remove the stored values, but width no luck... "storage.removeItem is not a function)
storage.removeItem('LiPoChargeValues');

I hope you can follow me here...
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #104 on: April 29, 2020, 11:43:06 am »
Which version of Studio do you use? Just to be sure we are on the same version.
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #105 on: April 29, 2020, 12:02:43 pm »
I can't reproduce what you are experiencing. For me it works as expected. If I press Cancel button then script execution is done and nothing is stored inside local storage. If I press OK button then selected parameters are stored in local storage and script proceeds with the execution using selected parameters.

You can check what is stored in local storage here:



Knowing the true name of the "Key" you can remove from storage like this (by accessing "localStorage" object directly):

Code: [Select]
localStorage.removeItem("instrument/166/scripts-storage/LiPoChargeValues")
 
The following users thanked this post: Pjoms

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #106 on: April 29, 2020, 12:58:35 pm »
I use EEZ Studio 0.9.3
Thanks for that guide to find the stored data!
If I delete it there it's possible to run the script again with the new values.


https://imgur.com/a/kYVdPvk
Edit: I tried to insert a picture, but it doesn't show up...
« Last Edit: April 29, 2020, 01:01:53 pm by Pjoms »
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #107 on: April 29, 2020, 01:29:40 pm »
Can you try with the latest version (nightly-build)?
 

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #108 on: April 29, 2020, 02:28:41 pm »
Can you try with the latest version (nightly-build)?
I can try it later, hopefully tonight. Can the nightly-build and 0.9.3 be installed at the same time?

The more I (hope) I understand how this works and hangs together, the more I'm starting to imagine that the behavior I experiencing maybe is just the right thing.
If I set up a storage with some variables in "Script1", and then if some other "Script2" is able to change the names of the variables, some funny things will surely occur in "Script1".
Am I thinking the right way here?
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #109 on: April 29, 2020, 02:53:22 pm »
Quote
I can try it later, hopefully tonight. Can the nightly-build and 0.9.3 be installed at the same time?

No. Also, after you install nightly-build it is not safe to go back to version 0.9.3, unless you make a backup of settings and database which are stored here: C:\Users\<your_user_name>\AppData\Roaming\eezstudio. This is because newer version of Studio can automatically change format of settings and database which could be problematic if you decide later to start older version.

Quote
The more I (hope) I understand how this works and hangs together, the more I'm starting to imagine that the behavior I experiencing maybe is just the right thing.
If I set up a storage with some variables in "Script1", and then if some other "Script2" is able to change the names of the variables, some funny things will surely occur in "Script1".
Am I thinking the right way here?

Yes, use different names for local storage items in different scripts, unless you deliberately want to access same local storage item from different scripts.
 

Offline Pjoms

  • Regular Contributor
  • *
  • Posts: 51
  • Country: se
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #110 on: April 30, 2020, 10:02:48 am »
Ok, here we go again...  ;) ::)
I think I now understand what caused my confusion yesterday, and I'm satisfied with that. Thanks again for your help!
Now a new problem...

If I set up the unit for an input value as "time" the dialog box shows "s" after the value.
So far so good.
But if I enter a large number eg. 3600s it first works fine, but the next time I run the script it shows like "3.6Ks" and the dialog will not accept it.
The same thing happens if I set a large number in defaultValues.
It is possible to enter eg. "1h" and it stores as 3600, but the next time it show "3.6Ks".

1. How can I solve this?
2. Are there any other types of units allowed, except Voltage, Current, Power, Time, Boolean and string?


Code: [Select]
        {
            name: "dummyReg",
            displayName: "Dummy time (1-5h)",
            unit: "time",
            validators: [validators.rangeInclusive(1, 5)]
        },



The whole test code
Code: [Select]
var values = await input({
    title: "Start Test",
    fields: [
        {
            name: "startCurrent",
            displayName: "Charging current",
            unit: "current",
            validators: [validators.rangeInclusive(0.1, 5)]
        },
        {
            name: "stopCurrent",
            displayName: "End ocf charge current",
            unit: "current",
            validators: [validators.rangeInclusive(0.01, 0.5)]
        },
        {
            name: "maxChargeTime",
            displayName: "Max charging time",
            unit: "time",
            validators: [validators.rangeInclusive(1, 86400000)]
        },
        {
            name: "dummyReg",
            displayName: "Dummy time (1-5h)",
            unit: "time",
            validators: [validators.rangeInclusive(1, 5)]
        },
        {
            name: "dummyReg2",
            displayName: "Dummy power",
            unit: "power",
            validators: [validators.rangeInclusive(0.1, 5)]
        }
    ]
}, defaultValues);

if (!values) {
    session.deleteScriptLogEntry();
    return;
}

storage.setItem("LiPoChargeValuesTest", values);

session.scriptParameters = values;

console.log(JSON.stringify(storage.getItem("LiPoChargeValuesY1")))
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #111 on: April 30, 2020, 11:19:32 am »
Quote
1. How can I solve this?

This is bug in Studio. You should fill a bug report here https://github.com/eez-open/studio/issues.

Quote
2. Are there any other types of units allowed, except Voltage, Current, Power, Time, Boolean and string?

In the latest Studio (nightly-build) folowing types are supported:

- "integer"
- "number"
- "string"
- "boolean"
- "enum"
- "radio"
- "range"

And following units are allowed for "number" type:

- "volt" (alias: "voltage")
- "amp" (alias: "amperage", "ampere", "current")
- "watt" (alias: "wattage", "power")
- "frequency"
- "sampling rate"
- "decibel"
- "joule"
- "unknown" (alias: "unkn"). This means: no unit.

This is example of "radio" type (this is from Coupling script from BB3 instrument):

Code: [Select]
connection.acquire();

let numChannels = await connection.query("SYSTem:CHANnel?");

if (numChannels === 0) {
    connection.release();
    notify.error("There is no channel installed!");
    return;
}

let numValidChannels = 0;
let couplingPossible = true;

for (let i = 1; i <= numChannels; i++) {
    const testResult = await connection.query(`DIAG:TEST? CH` + i);
    if (testResult == 2) {
        ++numValidChannels;
    } else {
        if (i == 1 || i == 2) {
            couplingPossible = false;
        }
    }
}

couplingPossible = couplingPossible &&
    (await connection.query(`SYST:CHAN:OPT? CH1`)).indexOf("Coupling") != -1 &&
    (await connection.query(`SYST:CHAN:OPT? CH2`)).indexOf("Coupling") != -1;

if (!couplingPossible && numValidChannels < 2) {
    connection.release();
    notify.error("Coupling is not possible!");
    return;
}

const availableCouplingTypes = [
    {
        id: "NONE",
        label: "Uncoupled",
        image: "data:image/png;base64,..."
    }
];

if (couplingPossible) {
    availableCouplingTypes.push({
        id: "SER",
        label: "Series",
        image: "data:image/png;base64,..."
    });
    availableCouplingTypes.push({
        id: "PAR",
        label: "Parallel",
        image: "data:image/png;base64,..."
    });
    availableCouplingTypes.push({
        id: "SRA",
        label: "Split rails",
        image: "data:image/png;base64,..."
    });
}

availableCouplingTypes.push({
    id: "CGND",
    label: "Common GND",
    image: "data:image/png;base64,..."
});

const fields = [
    {
        name: "type",
        displayName: "",
        type: "radio",
        enumItems: availableCouplingTypes
    }
];

values = await input({
    title: "Power outputs coupling",
    fields
}, {
    type: "NONE"
});

if (!values) {
    connection.release();
    session.deleteScriptLogEntry();
    return;
}

session.scriptParameters = values.type;

connection.command(`INST:COUP:TRAC ${values.type}`);

connection.release();

(Please note that I shortened "image" properties because forum software would not allowed me to post such a big script. To get data uri from image file you can use online tools like this: https://onlinepngtools.com/convert-png-to-data-uri)

This dialog look like this:



And here is example of "enum" and "range" types:

Code: [Select]
const STORAGE_ITEM = "test";

var defaultValues = storage.getItem(STORAGE_ITEM, {
    option: "Option 2",
    color: 4,
    howMany: 3
});

var values = await input({
    title: "Test enum and range field types",
    fields: [
        {
            name: "option",
            type: "enum",
            enumItems: ["Option 1", "Option 2", "Option 3"]
        },
        {
            name: "color",
            type: "enum",
            enumItems: [
                {
                    id: 1,
                    label: "Red"
                },
                {
                    id: 2,
                    label: "Green"
                },
                {
                    id: 3,
                    label: "Blue"
                },
                {
                    id: 4,
                    label: "Yellow"
                }
            ]
        },
        {
            name: "howMany",
            type: "range",
            minValue: 1,
            maxValue: 10
        }
    ]
}, defaultValues);

if (values) {
    storage.setItem(STORAGE_ITEM, values);
    console.log(values);
} else{
    session.deleteScriptLogEntry();
}

And this is how it looks:




« Last Edit: April 30, 2020, 11:21:41 am by mvladic »
 
The following users thanked this post: Pjoms

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #112 on: August 07, 2020, 08:58:49 pm »
We are slowly progressing with EEZ Studio, by adding new features here and there based on the requirements that have arisen from everyday work. I'm started lately to work on adding AC line filter for passing CE testing and I made a dozens of measurements with different filters. Quick comparison of results (i.e. screenshots from the spectrum analyzer) became very difficult. Therefore a Scrapbook is introduced where you can with drag & drop add screenshots of current interest. This significantly accelerated my finding a filter with the desired characteristics. Example of what I currently have in the scrapbook:



The latest EEZ Studio can be downloaded at: https://github.com/eez-open/studio/releases/tag/nightly-build


 
The following users thanked this post: Kean, JohnG, RoGeorge

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #113 on: October 16, 2020, 09:08:56 am »
The latest release 0.9.7 is available for download at https://github.com/eez-open/studio/releases/tag/0.9.7

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #114 on: March 16, 2021, 08:11:16 am »
Thanks to Lex Brugman, we got another "3rd-party" IEXT:




Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #115 on: March 23, 2021, 11:26:04 am »
Thanks to Andrew Young (yngndrw) we got IEXT for Keysight DSO/MSO Infiniivision 2000 X series ...




Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
EEZ Flow, first milestone introduction
« Reply #116 on: March 27, 2021, 03:00:22 pm »
I am glad to announce EEZ Flow to you. It allows visual programming like Node-RED, or say LabVIEW if we are talking about T&M solutions. We have been thinking about EEZ Flow (which we didn't even know what it would be called at the time) for more than five years and finally something started happening in that area thanks primarily to NLnet who decided to sponsor its development.
Yesterday, the first milestone (tagged as Pre-release 0.9.8.1) was completed, which brings the first basic elements for creating flowcharts from existing components, editing, copying, deleting, etc. EEZ flow will be able to work with three types of components: Widgets and Actions are already supported and we will add Decorations. The important thing is that it will be possible to import external components as well, so as a first example, a component was created to connect to the Postgres database. This will allow other developers to add their own components.

We continue to work on the EEZ flow and through the next four milestones the idea is to achieve the following:
  • Execute flows on a PC (to control various instruments including BB3) and display the corresponding dashboards
  • Execute flows directly on BB3 which will mean that the complete existing GUI can be replaced if someone wants it
  • Debugger for PC (with single step execution, breakpoints, etc.)
  • Debugger for BB3 (with single step execution, breakpoints, etc.)
The EEZ flow will start to be usable as soon as the next milestone is finished. Execution on BB3 (i.e. its MCU module) opens up the possibility to design a display module like Nextion that will be completely open source.

Here are the first screenshots:





 
The following users thanked this post: luma, AlanS

Offline AlanS

  • Supporter
  • ****
  • Posts: 103
  • Country: au
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #117 on: March 28, 2021, 10:23:34 pm »
Fabulous progress - well done to all! :clap:
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #118 on: March 31, 2021, 02:36:50 pm »
As work on EEZ flow has continued, we already have the first runtime results: this is a functional flow that reads voltage and current from an external device and displays them on the screen. Commands are MEAS:VOLT? and MEAS:CURR? The set delay between two readings is 500 ms. If the delay is not set the reading speed is up to 160 times per second!

 
The following users thanked this post: AlanS

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Support for Plotly graphs
« Reply #119 on: April 01, 2021, 02:21:11 pm »
New thing for today is added support for popular Plotly graphs. This means that through EEZ flow data will be able to be presented in a variety of attractive ways. Here is the first example with flip between EEZ Flow frontend and backend. Again, this is not a simulation, this is what can be seen on the screen when the flow is started and communicates with an external device (EEZ BB3 in this case, but it can be any other instrument that supports SCPI).

 
The following users thanked this post: PlainName, Kean, AlanS

Offline Mike G

  • Regular Contributor
  • *
  • Posts: 83
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #120 on: July 07, 2021, 02:14:15 pm »
Hi Prasimix, further to posts 601 - 602 a week or so ago, in the (EEZ Bench Box 3 - sequel to H24005) topic, my BB3 with the notorious green board is still causing me serious problems.
It still will not always power on correctly, sometimes showing a black screen with standby light on, power cycling ususally corrects this, but far more seriously it resets completely and randomly with no input from me.  By this I mean it can be just turned on doing nothing but with the outputs turned on, not connected, I will hear a beep and when I look across the workshop the BB3 has reset, I see the ethernet symbol flash as it reconnects and all outputs are now off.
This is really causing me doubts about the useability of this power supply, certainly for long term tests and analysis.
PLease could you offer any help or, hopefully, a solution.
Thank you and regards Mike
 

Offline Mike G

  • Regular Contributor
  • *
  • Posts: 83
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #121 on: July 07, 2021, 02:34:24 pm »
Hi again, just look what it is doing right now :-//
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #122 on: July 07, 2021, 03:38:30 pm »
Ok, don't know how you ended up reporting this issue here, but never mind. It's highly likely that your MCU module is in trouble (a green version again that comes from Poland). If you have any artifacts on the screen probably there is some soldering issue with SDRAM or STM32F7 MCU itself. Please contact me on PM or info@envox.eu to continue with discussion.

Offline Mike G

  • Regular Contributor
  • *
  • Posts: 83
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #123 on: July 08, 2021, 03:49:22 am »
I reported this matter here because in post 606 on the  (EEZ Bench Box 3 - sequel to H24005) topic you asked me and any others to report problems on this topic page to enable you to build up evidence, if I misunderstood then I apologise.
I will contact you in private later today.
Mike
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #124 on: July 08, 2021, 06:38:11 am »
It was this #606 and you kept posting in the right place, so it confused me how we ended up here, but it doesn’t matter. You have my PM in your inbox.

Offline Mike G

  • Regular Contributor
  • *
  • Posts: 83
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #125 on: July 26, 2021, 12:44:21 pm »
Can anyone help me with this please?
I wanted to add the facility to adjust the current at which the zener voltage is read, not a big problem and it works fine apart from one tiny niggle that I cannot puzzle out.
The maximum current is set at 10mA, the minimum at 1mA, the Max and Min buttons work fine but if I manually enter 10mA on the keypad it will not allow it saying "Value is greater than 10.0mA"
If anyone could try it on their BB3 and see if it does the same.
I am running 1.7.1 with a R2B4 CPU module
If I am doing something stupid please forgive me as I am a crusty old hardware engineer.
The extenstion of the txt file needs changing to .res to load.
Thanks in advance.
 

Offline jan28

  • Contributor
  • Posts: 38
  • Country: nl
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #126 on: July 26, 2021, 02:16:42 pm »
Can anyone help me with this please?
....
The maximum current is set at 10mA, the minimum at 1mA, the Max and Min buttons work fine but if I manually enter 10mA on the keypad it will not allow it saying "Value is greater than 10.0mA"

Line 42 of the script:
    value = scpi('DISP:INPUT? "I_SET",NUMBER,AMPER,0.001,0.01,' + str(I_SET))

If I type the SCPI command directly in studio I get the same behaviour.... I can only reproduce this at max 10mA, other values I tried don't have this behaviour. It also gives the error if you type 9.9999999mA with a max of 10mA...

My conclusion: Some kind of conversion/rounding threshold anomaly. Worth making a GitHub issue for.

Workaround I can give for now: 'DISP:INPUT? "I_SET",NUMBER,AMPER,0.001,0.01000001'
(hitting max will also give 0.01)
 
The following users thanked this post: prasimix

Offline Mike G

  • Regular Contributor
  • *
  • Posts: 83
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #127 on: July 26, 2021, 02:45:13 pm »
Can anyone help me with this please?
....
The maximum current is set at 10mA, the minimum at 1mA, the Max and Min buttons work fine but if I manually enter 10mA on the keypad it will not allow it saying "Value is greater than 10.0mA"

Line 42 of the script:
    value = scpi('DISP:INPUT? "I_SET",NUMBER,AMPER,0.001,0.01,' + str(I_SET))

If I type the SCPI command directly in studio I get the same behaviour.... I can only reproduce this at max 10mA, other values I tried don't have this behaviour. It also gives the error if you type 9.9999999mA with a max of 10mA...

My conclusion: Some kind of conversion/rounding threshold anomaly. Worth making a GitHub issue for.

Workaround I can give for now: 'DISP:INPUT? "I_SET",NUMBER,AMPER,0.001,0.01000001'
(hitting max will also give 0.01)

Thank you jan28
I too had found the workaround and could find no issue with the python code so was wondering if it was the same on other BB3s. Maybe this is not my fault, I just like things to work correctly.
Thank you again, regards Mike
 
The following users thanked this post: Slh

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
EEZ Studio and R&S®VISA
« Reply #128 on: October 31, 2021, 08:48:49 am »
Yesterday we released the latest version of EEZ Studio v0.9.88 which now includes an experimental R&S®VISA interface. A short How to article has also been published describing how to easily start collecting screenshots from DSO and other equipment. It is currently tested with Rigol DS1074Z and Siglent VNA1015X.

Thanks in advance to everyone who will invest some time and test EEZ Studio with their instruments. Feel free to report issues on GitHub issue tracking, your feedback will help us make it better and useful for as many instruments as possible.

 
The following users thanked this post: PlainName, Kean, Romain, jan28, Markus2801A

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #129 on: July 12, 2022, 03:22:35 pm »
Awesome tool
Just started playing with it an the 8714 over ethernet.

 
The following users thanked this post: prasimix

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #130 on: July 12, 2022, 09:02:13 pm »
trying to make a graph
So far a was able to create an array of frequency steps and an array of data points for the corresponding  frequencies.
Trying to make a graph from the data but the scope examples are confusing.
Is the scope data organized  as [x1,y1,X2 y2.......Xn,Yn]?
If I need interleaved data I can easily do that inside the js.

here is the js code so far

connection.acquire();

    connection.command("FORMat real 64");
   
    var StartF = await connection.query("SENSe1:FREQuency:STARt?");
    var StopF = await connection.query("SENSe1:FREQuency:STOP?");
    var PointsF = await connection.query("SENSe1:SWEep:POINts?");
    var StepF = ((StopF-StartF)/(PointsF-1));
//    notify.info(`steps ${StepF/1000000}MHz`);
    var freq = [];
    var level = await connection.query("TRAC? CH1FDATA");
    var level_array = level.split(',');
    for (var i =0; i < PointsF; ++i){
        freq.push(StartF + i * StepF);
        //notify.info(freq);
    }
//   notify.info(freq[0]/1000000);
//   notify.info(freq[PointsF-1]/1000000);
//   notify.info(level_array[1]);
   

 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #131 on: July 13, 2022, 07:35:26 am »
If you mean the example of "Waveform data" for the Keysight oscilloscope, then know that in that example the data is not sent as [x1, y1, x2, y2, ...] but as [y1, y2, ...], and the x values are defined with sampleRate, i.e. x values are implicitly calculated, so they are not sent.
 

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #132 on: July 14, 2022, 03:18:15 am »
thanks for your reply . Yes .... that should be easily adapted to my needs as the VNA 8714ET also sends only Y values. I calculated all the X  values and the x step.  But its still complicated for me to understand how to get the data to display.  I  found that the instrument also generates prn files that are easily imported to excel so thats  my fall back. I would love to get the instrument working as the scope example.

here is an example prn file.

The array here provides the y values:

  var level = await connection.query("TRAC? CH1FDATA");
  var level_array = level.split(',');

here I calculate the step size between the samples on the x axis
    var StartF = await connection.query("SENSe1:FREQuency:STARt?"); // read start frequency (5MHz)
    var StopF = await connection.query("SENSe1:FREQuency:STOP?"); // read stop frequency (55MHZ)
    var PointsF = await connection.query("SENSe1:SWEep:POINts?");  //read number of points (401)
    var StepF = ((StopF-StartF)/(PointsF-1));                                          // calculate the step size 0.125MHz 

My graph is not rolling data but should be from 5Mhz to 55Mhz with a 0.125Mhz in between every sample
* Y values .txt (3.36 kB - downloaded 60 times.)" alt="" class="bbc_img" />
The issue is what next ? 

There is the preamble stuff that is confusing me.



Maciej

« Last Edit: July 14, 2022, 01:16:51 pm by kawal »
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #133 on: July 14, 2022, 02:22:12 pm »
Here is the example how to add a chart where data is in CSV format. The source code is in the attached zip file.

Some screenshot:

 

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #134 on: July 14, 2022, 04:19:35 pm »
mvladic
I appreciate it . Thank you.
kawal
 

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #135 on: July 14, 2022, 05:07:37 pm »
mvladic
I got it somewhat working
how to change the X from seconds to Hz KHz or Mhz  ?
 

 

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #136 on: July 14, 2022, 05:48:28 pm »
mvladic
Your example helped me a lot but still need more help to get this usable.
X axis needs to be in different units , in this case Hz
I need to have a way to specify the start of the graph since my data starts at 5Mhz not at 0MHz
I can easily  manipulate the graph but can t change the units  on the x axis  and i cant specify the start of the graph.
maybe its not possible?
Are there any other types of graphs available?  Where can i find information about this?

thank you so much
kawal
 

Offline mvladic

  • Contributor
  • Posts: 14
  • Country: hr
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #137 on: July 15, 2022, 07:04:30 am »
Currently, it is not possible to change unit or start value for the X axis.
 

Offline HKJ

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #138 on: July 15, 2022, 07:33:41 am »
X axis needs to be in different units , in this case Hz
I need to have a way to specify the start of the graph since my data starts at 5Mhz not at 0MHz

If you can export to cvs format you can use TestController: https://lygte-info.dk/project/TestControllerIntro%20UK.html
Any column from the cvs file can be used on the X axis, if you are missing a frequency column, it may be possible to calculate on
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #139 on: July 15, 2022, 08:39:21 am »
mvladic
I got it somewhat working
how to change the X from seconds to Hz KHz or Mhz  ?

Feel free to open a new feature request in GitHub: https://github.com/eez-open/studio/issues/new

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #140 on: July 15, 2022, 11:58:25 am »

Feel free to open a new feature request in GitHub: https://github.com/eez-open/studio/issues/new

prasimix
Thanks - I did - great job on EEZE studio . Its real easy to use  and very useful.

Kawal
 
The following users thanked this post: prasimix

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #141 on: July 15, 2022, 06:55:50 pm »
I found a temporary solution for my problem  - display Mhz as us Ghz as ms.

I added padding to the data and adjusted the sampling rate and timescale based on the scanned frequencies.   
If the applications allowed just to  change the units from ps=Hz   ns=kHz  us= Mhz and ms=GHz it would be 75% of my needs.



 
« Last Edit: July 15, 2022, 07:07:23 pm by kawal »
 

Offline kawal

  • Regular Contributor
  • *
  • Posts: 244
  • Country: us
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #142 on: July 18, 2022, 03:49:57 am »
making a lot of progress on the 8714ET

added  remote functions :
Averaging on/off and number of samples 1.....64
bandwidth selection  15Hz...6500Hz
Start and stop frequency  - your choice - defaults populate from current as read from instrument
Frequency center
Span
number of data points

A general setup function that will ask you of most of the settings.

Changed the padding to use the Y value of the 1st data point instead of a fixed -80dB
next  will be to stitch  graphs if more than 1601 data points are needed







« Last Edit: July 18, 2022, 03:52:36 am by kawal »
 

Offline CScott

  • Contributor
  • Posts: 10
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #143 on: December 08, 2022, 06:59:11 pm »
I'd like to add an instrument to EEZ Studio.  The documentation for this seems to be here https://www.envox.eu/studio/create-an-instrument-extension/project-items/settings/

My problem is that documentation seems to bear no relation to the current version of the software 0.9.97. The difference is so large that I'm not sure if there is something wrong with my installation or the documentation is out of date, or that I'm dumber than a rock.

As an example the docs show the screen for new Project Features "esp_settings-new_project.png" attached.

What I see is this "MyNewProject.jpg" attached.

There is just no correlation between these.  Can someone point me in the right direction please?

 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #144 on: June 26, 2023, 01:13:48 pm »
Hi, and sorry for huge delay in response (I never received a notification about a new message). You're completely right. The existing documentation is obsolete, but we are in the process of writing complete documentation for the latest version of EEZ Studio, so an updated version of the instructions for creating IEXT can be expected soon. Thank you for following us and for your patience.

The progress of creating new documentation can be followed at https://www.envox.eu/eez-studio-docs/
 
The following users thanked this post: CScott, gnavigator1007

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #145 on: September 07, 2023, 10:05:52 am »
A refreshed version of How to create an IEXT is now available at https://www.envox.eu/eez-studio-docs/iext-introduction/
Please let me know if you find any inconsistencies so I can correct them.

Offline coromonadalix

  • Super Contributor
  • ***
  • Posts: 5898
  • Country: ca
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #146 on: September 07, 2023, 12:29:15 pm »
Is there any Siglent SSG  SDG extensions somewhere ???

Is there a repo to see some extensions and or try to create them

I want to try adding a picoscope in the mix ....
 

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #147 on: September 07, 2023, 12:34:16 pm »
Thank you for your interest. There are currently several instruments supported and the projects can be found here: https://github.com/eez-open/studio-extensions/tree/master/org

The entry point to download EEZ Studio for FREE is here: https://www.envox.eu/support-us/

 
The following users thanked this post: coromonadalix

Offline prasimixTopic starter

  • Supporter
  • ****
  • Posts: 2023
  • Country: hr
    • EEZ
Re: Open source EEZ Studio for accessing your (SCPI) instruments
« Reply #148 on: April 11, 2024, 03:13:01 pm »
Here is a short update after a long time:
  • We managed to secure the fourth round of financing from NLnet for the further development of EEZ Studio.
  • In the previous round, the emphasis was on the improvement and further development of the visual editor for the embedded GUI (Project section) with added support for LVGL 8.3 and recently 9.0 versions. EEZ Studio is still the only free and open source visual editor that supports the popular LVGL.
  • In this round, through several milestones, the emphasis will be on the improvement and further development of the Instruments section of EEZ Studio, of which Milestone 18 (v0.12.0) was released a few days ago.
Stay tuned and thank you in advance for your attention, for FREE download at https://www.envox.eu/studio/studio-introduction/

 
The following users thanked this post: PlainName, voltsandjolts, tautech, Kean, abeyer


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf