1 oscopy -- An interactive program to view electrical results
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.
9 * Post-processing: math expressions, fft, diffs
10 * View, examine: multiple windows, cursors
12 * Data export: gnucap, pictures
14 * D-Bus support: update recursively signals
15 * Run netlister and simulator
17 There are two interfaces:
18 * Command-line interface (CLI): oscopy_app.py
19 * Graphical user interface (GUI) fully integrating the CLI: oscopy_ui.py
20 Scripting is supported in both application, although in the GUI some commands are disabled since plots are displayed dynamically.
22 Support for mathematic with signals is implemented. Supported functions:
24 Support for (i)fft: fft(v1) + fft(v2) is possible, but please avoid things like ifft(fft(v1) + fft(v2))
25 First order diff is supported: diff(v1) or diff(v1, 1)
26 Access to X axis data is provided through Time and Freq, e.g. sin(Time(vsqu)*1e6)
28 In each plot window, horizontal and vertical cursors can be toggled by using keys '1', '2', '3' and '4'.
32 The source can be downloaded from repo.cz:
33 http://repo.or.cz/w/oscopy.git
36 $ git clone git://repo.or.cz/oscopy.git
40 Oscopy can work out of the box when downloaded, but it supports also installing on the system using autotools.
42 $ ./autogen.sh && ./configure && make
52 If you want to install oscopy on a system:
53 # ./autogen.sh && ./configure && make install
54 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:
55 PYTHONPATH=${HOME}/geda/lib/python2.5/site-packages:$PYTHONPATH
59 To run the program, just do ./oscopy_app or ./oscopy_ui.
61 To get any info on available commands, type 'help'.
63 A sample circuit is provided for demonstration purposes.
64 From oscopy directory, prepare the demo circuit files
66 $ gnetlist -g spice-sdb -s -o demo.net demo.sch
71 $ ./oscopy_app.py -b demo/demo.oscopy
75 then in the terminal window:
76 oscopy> exec demo/demo.oscopy
80 add SIG [, SIG [, SIG]...]
81 Add a graph to the current figure
83 create [SIG [, SIG [, SIG]...]]
84 Create a new figure, set_ it as current, add the signals
87 Delete a graph from the current figure
96 execute commands from file
99 set the scaling factor of the graph (in power of ten)
100 use 'auto' for automatic scaling factor
101 e.g. factor -3, 6 set the scale factor at 1e-3 and 10e6
104 Print the list of figures
106 freeze SIG [, SIG [, SIG]...]
107 Do not consider signal for subsequent updates
109 insert SIG [, SIG [, SIG]...]
110 Insert a list of signals into the current graph
112 layout horiz|vert|quad
113 Define the layout of the current figure
115 math destsig=mathexpr
116 Define a new signal destsig using mathematical expression
117 destsig=mathexpr is also valid.
120 Set the type of the current graph of the current figure
125 Wait for the user to press enter
128 Draw and show the figures (disabled in the GUI)
130 range [x|y min max]|[xmin xmax ymin ymax]|[reset]
131 Set the axis range of the current graph of the current figure
136 remove SIG [, SIG [, SIG]...]
137 Delete a list of signals into from current graph
139 scale [lin|logx|logy|loglog]
143 Select the current figure and the current graph
148 unfreeze SIG [, SIG [, SIG]...]
149 Consider signal for subsequent updates
152 Set the unit to be displayed on graph axis
157 write format [(OPTIONS)] FILE SIG [, SIG [, SIG]...]
158 Write signals to file