Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/agardelein/oscopy
An interactive program to view electrical simulation results
https://github.com/agardelein/oscopy
Last synced: 23 days ago
JSON representation
An interactive program to view electrical simulation results
- Host: GitHub
- URL: https://github.com/agardelein/oscopy
- Owner: agardelein
- License: other
- Created: 2014-01-17T22:12:48.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-10-17T22:57:31.000Z (about 8 years ago)
- Last Synced: 2024-10-26T02:35:52.853Z (2 months ago)
- Language: Python
- Size: 3.63 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: LICENSE
Awesome Lists containing this project
README
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 simulatorSupport 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.gitTo download it:
$ git clone git://repo.or.cz/oscopy.gitBUILDING FROM SOURCE
--------------------
Oscopy shall be installed on the system using autotools.
In the latter case:
$ ./autogen.sh && ./configure && makeDependencies:
* ipython
* python-dbus
* python-xdgDocumentation 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:$PYTHONPATHIf 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 ./ioscopyTo 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.oscopyUsing 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 figureocreate [SIG [, SIG [, SIG]...]]
Create a new figure, set it as current, add the signalsocontext
Return the Context object used within ioscopyodelete GRAPH#
Delete a graph from the current figureodestroy FIG#
Destroy a figureoexec FILENAME
execute commands from fileofactors 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 10e6ofiglist
Print the list of figuresofreeze SIG [, SIG [, SIG]...]
Do not consider signal for subsequent updatesogui
Show the GUIoimport 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 updatedoinsert SIG [, SIG [, SIG]...]
Insert a list of signals into the current grapholayout horiz|vert|quad
Define the layout of the current figureomode 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 graphorange [x|y min max]|[xmin xmax ymin ymax]
Set the axis range of the current graph of the current figureoread DATAFILE
Read signal fileorefresh FIG#|on|off|current|all
Force/toggle autorefresh of current/#/all figures on updateoremove SIG [, SIG [, SIG]...]
Delete a list of signals into from current graphoscale [lin|logx|logy|loglog]
Set the axis scaleoselect FIG#-GRAPH#
Select the current figure and the current graphosiglist
List loaded signalsounfreeze SIG [, SIG [, SIG]...]
Consider signal for subsequent updatesounit [XUNIT,] YUNIT
Set the unit to be displayed on graph axisoupdate
Reread data filesowrite format [(OPTIONS)] FILE SIG [, SIG [, SIG]...]
Write signals to filenumpy.ufuncs and numpy.fft functions are supported with their direct name.