-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
179 lines (137 loc) · 4.91 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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.