GithubHelp home page GithubHelp logo

agardelein / oscopy Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 3.71 MB

An interactive program to view electrical simulation results

License: Other

Shell 4.25% Python 83.78% Makefile 0.64% M4 7.22% KiCad Layout 2.40% Scheme 1.71%

oscopy's Introduction

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.

oscopy's People

Contributors

agardelein avatar pardo-bsso avatar vzh avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

oscopy's Issues

autogen.sh fails

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.