Rewrite do_exec() to remove clutter during script execution
[oscopy.git] / README
bloba1141548ac249b3718dab6ec76ed7058f97abdfa
1 oscopy -- An interactive program to view electrical results
3 ABOUT OSCOPY
4 ------------
5 This is oscopy, a kind of oscilloscope in python, to view 2D electrical
6 simulation or measurement results.
7 It is designed to easily add new input data file formats and new types of plots.
8 Features highlight:
9   * Post-processing: math expressions, fft, diffs
10   * View, examine: multiple windows, cursors
11   * Data import: gnucap
12   * Data export: gnucap, pictures
13   * Scripting
14   * D-Bus support: update recursively signals
15   * Run netlister and simulator
17 Support for arithmetic with signals is implemented.
19 In each plot window, horizontal and vertical cursors can be toggled by using
20 keys '1', '2', '3' and '4'.
22 Support for drag'n drop from signal window to graphs is implemented.
24 GETTING THE SOURCE
25 ------------------
26 The source can be downloaded from repo.cz:
27 http://repo.or.cz/w/oscopy.git
29 To download it:
30 $ git clone git://repo.or.cz/oscopy.git 
32 BUILDING FROM SOURCE
33 --------------------
34 Oscopy shall be installed on the system using autotools.
35 In the latter case:
36 $ ./autogen.sh && ./configure && make
38 Dependencies:
39   * ipython
40   * python-dbus
41   * python-xdg 
43 Documentation can be built by passing the option '--with-doc' to the configure
44 script. It will build the user manual (ioscopy-manual.pdf) and the oscopy API
45 manual (oscopy-api.pdf). You will need LaTeX and graphviz to be installed on
46 your system.
48 INSTALLING
49 ----------
50 To install oscopy on a system:
51 # ./autogen.sh && ./configure && make install
52 Note that you might need to update your PYTHONPATH, for example if you install
53 it in ${HOME}/geda, to launch oscopy you might need the following line:
54 PYTHONPATH=${HOME}/geda/lib/python2.X/site-packages:$PYTHONPATH
56 If you want to use gschem integration, you will need to use the same --prefix
57 that you used to install gschem.
59 QUICKSTART
60 ----------
61 To run the program, just do ./ioscopy
63 To get any info on available commands, type 'help'.
65 A sample circuit is provided for demonstration purposes.
67 $ cd demo
68 $ ioscopy
69 Just do "File>Run Netlister and simulate..." and fill in the window with the
70 commands provided below
71 then in the terminal window:
72 ioscopy> oexec demo.oscopy
74 Using gschem integration:
75 If you want to use gschem integration, add (load-from-path "oscopy.scm") to your
76 gschemrc, and you shoud see the oscopy menu on the next start of gschem. Note
77 that you should have done ./configure --prefix="same prefix as gschem"
78 Then assuming you are in the oscopy directory:
79   * launch gschem
80   * open demo/demo.sch
81   * oscopy>Launch oscopy
82   * Follow the previous instructions
83   * Once the script finished to execute, go back to gschem and change the value 
84 of a component e.g. the capacitor C.
85   * oscopy>Update oscopy
86   * once netlister and simulator ran, figures should have changes, e.g. figure 3
87 vout should have moved and vo not.
89 COMMAND REFERENCE
90 -----------------
91 oadd SIG [, SIG [, SIG]...]
92    Add a graph to the current figure
94 ocreate [SIG [, SIG [, SIG]...]]
95    Create a new figure, set it as current, add the signals
97 ocontext
98    Return the Context object used within ioscopy
100 odelete GRAPH#
101    Delete a graph from the current figure
103 odestroy FIG#
104    Destroy a figure
106 oexec FILENAME
107    execute commands from file
109 ofactors X, Y
110    set the scaling factor of the graph (in power of ten)
111    use 'auto' for automatic scaling factor
112    e.g. factor -3, 6 set the scale factor at 1e-3 and 10e6
114 ofiglist
115    Print the list of figures
117 ofreeze SIG [, SIG [, SIG]...]
118    Do not consider signal for subsequent updates
120 ogui
121    Show the GUI
123 oimport SIG [, SIG [, SIG]...]
124    Import a list of signals into oscopy to handle dependencies during updates
125    Example:
126      oscopy> oread demo/trans.dat
127      oscopy> pwr=iRD*vds
128      oscopy> oimport pwr
129      oscopy> oadd pwr
130      oscopy> oupdate  #if iRD or vds changed, pwr will be automatically updated
132 oinsert SIG [, SIG [, SIG]...]
133    Insert a list of signals into the current graph
135 olayout horiz|vert|quad
136    Define the layout of the current figure
138 omode MODE
139    Set the type of the current graph of the current figure
140    Available modes :
141    lin      Linear graph
143 orange [x|y min max]|[xmin xmax ymin ymax]
144    Set the axis range of the current graph of the current figure
146 oread DATAFILE
147    Read signal file
149 orefresh FIG#|on|off|current|all
150    Force/toggle autorefresh of current/#/all figures on update
152 oremove SIG [, SIG [, SIG]...]
153    Delete a list of signals into from current graph
155 oscale [lin|logx|logy|loglog]
156    Set the axis scale
158 oselect FIG#-GRAPH#
159    Select the current figure and the current graph
161 osiglist
162    List loaded signals
164 ounfreeze SIG [, SIG [, SIG]...]
165    Consider signal for subsequent updates
167 ounit [XUNIT,] YUNIT
168    Set the unit to be displayed on graph axis
170 oupdate
171    Reread data files
173 owrite format [(OPTIONS)] FILE SIG [, SIG [, SIG]...]
174    Write signals to file
176 numpy.ufuncs and numpy.fft functions are supported with their direct name.