agardelein / oscopy Goto Github PK
View Code? Open in Web Editor NEWAn interactive program to view electrical simulation results
License: Other
An interactive program to view electrical simulation results
License: Other
oscopy -- An interactive program to view electrical results ABOUT OSCOPY ------------ This is oscopy, a kind of oscilloscope in python, to view 2D electrical simulation or measurement results. It is designed to easily add new input data file formats and new types of plots. Features highlight: * Post-processing: math expressions, fft, diffs * View, examine: multiple windows, cursors * Data import: gnucap * Data export: gnucap, pictures * Scripting * D-Bus support: update recursively signals * Run netlister and simulator Support for arithmetic with signals is implemented. In each plot window, horizontal and vertical cursors can be toggled by using keys '1', '2', '3' and '4'. Support for drag'n drop from signal window to graphs is implemented. GETTING THE SOURCE ------------------ The source can be downloaded from repo.cz: http://repo.or.cz/w/oscopy.git To download it: $ git clone git://repo.or.cz/oscopy.git BUILDING FROM SOURCE -------------------- Oscopy shall be installed on the system using autotools. In the latter case: $ ./autogen.sh && ./configure && make Dependencies: * ipython * python-dbus * python-xdg Documentation can be built by passing the option '--with-doc' to the configure script. It will build the user manual (ioscopy-manual.pdf) and the oscopy API manual (oscopy-api.pdf). You will need LaTeX and graphviz to be installed on your system. INSTALLING ---------- To install oscopy on a system: # ./autogen.sh && ./configure && make install Note that you might need to update your PYTHONPATH, for example if you install it in ${HOME}/geda, to launch oscopy you might need the following line: PYTHONPATH=${HOME}/geda/lib/python2.X/site-packages:$PYTHONPATH If you want to use gschem integration, you will need to use the same --prefix that you used to install gschem. QUICKSTART ---------- To run the program, just do ./ioscopy To get any info on available commands, type 'help'. A sample circuit is provided for demonstration purposes. $ cd demo $ ioscopy Just do "File>Run Netlister and simulate..." and fill in the window with the commands provided below then in the terminal window: ioscopy> oexec demo.oscopy Using gschem integration: If you want to use gschem integration, add (load-from-path "oscopy.scm") to your gschemrc, and you shoud see the oscopy menu on the next start of gschem. Note that you should have done ./configure --prefix="same prefix as gschem" Then assuming you are in the oscopy directory: * launch gschem * open demo/demo.sch * oscopy>Launch oscopy * Follow the previous instructions * Once the script finished to execute, go back to gschem and change the value of a component e.g. the capacitor C. * oscopy>Update oscopy * once netlister and simulator ran, figures should have changes, e.g. figure 3 vout should have moved and vo not. COMMAND REFERENCE ----------------- oadd SIG [, SIG [, SIG]...] Add a graph to the current figure ocreate [SIG [, SIG [, SIG]...]] Create a new figure, set it as current, add the signals ocontext Return the Context object used within ioscopy odelete GRAPH# Delete a graph from the current figure odestroy FIG# Destroy a figure oexec FILENAME execute commands from file ofactors X, Y set the scaling factor of the graph (in power of ten) use 'auto' for automatic scaling factor e.g. factor -3, 6 set the scale factor at 1e-3 and 10e6 ofiglist Print the list of figures ofreeze SIG [, SIG [, SIG]...] Do not consider signal for subsequent updates ogui Show the GUI oimport SIG [, SIG [, SIG]...] Import a list of signals into oscopy to handle dependencies during updates Example: oscopy> oread demo/trans.dat oscopy> pwr=iRD*vds oscopy> oimport pwr oscopy> oadd pwr oscopy> oupdate #if iRD or vds changed, pwr will be automatically updated oinsert SIG [, SIG [, SIG]...] Insert a list of signals into the current graph olayout horiz|vert|quad Define the layout of the current figure omode MODE Set the type of the current graph of the current figure Available modes : lin Linear graph polar Polar graph smith Smith Chart graph eye Eye diagram graph orange [x|y min max]|[xmin xmax ymin ymax] Set the axis range of the current graph of the current figure oread DATAFILE Read signal file orefresh FIG#|on|off|current|all Force/toggle autorefresh of current/#/all figures on update oremove SIG [, SIG [, SIG]...] Delete a list of signals into from current graph oscale [lin|logx|logy|loglog] Set the axis scale oselect FIG#-GRAPH# Select the current figure and the current graph osiglist List loaded signals ounfreeze SIG [, SIG [, SIG]...] Consider signal for subsequent updates ounit [XUNIT,] YUNIT Set the unit to be displayed on graph axis oupdate Reread data files owrite format [(OPTIONS)] FILE SIG [, SIG [, SIG]...] Write signals to file numpy.ufuncs and numpy.fft functions are supported with their direct name.
autogen gives an error in experimental and python3:
configure.ac:57: warning: macro 'AM_PATH_IPYTHON3' not found in library
configure.ac:63: error: possibly undefined macro: AM_PATH_IPYTHON3
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure:3218: error: possibly undefined macro: AM_RUN_LOG_IPYTHON3
autoreconf: /usr/bin/autoconf failed with exit status: 1
Is m4/ipython3.m4 missing from repo?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.