-
Notifications
You must be signed in to change notification settings - Fork 0
An interactive program to view electrical simulation results
License
agardelein/oscopy
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.
About
An interactive program to view electrical simulation results
Resources
License
Stars
Watchers
Forks
Releases
No releases published