doc/introduction.rst

Fri, 04 May 2018 01:00:59 +0200

author
David Douard <david.douard@logilab.fr>
date
Fri, 04 May 2018 01:00:59 +0200
changeset 87
59a0946aa3d1
parent 73
2645ef311424
child 91
f2a8f688dbc0
permissions
-rw-r--r--

port HPGL plotter emulator to PyQt5

63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
1 .. -*- coding: utf-8 -*-
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
2
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
3 ==============
73
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
4 Introduction
63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
5 ==============
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
6
67
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
7 pygpibtoolkit_ is a Python_ toolkit for talking with GPIB devices. It
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
8 consist in a set of python modules (low-level and some more
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
9 high-level) in order to ease writing python code to play with GPIB
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
10 devices.
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
11
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
12 There are also some utility commands and GUI tools written using this
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
13 library (and PyQt4 for GUI parts).
63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
14
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
15 The aim of the project is to have an infrastructure that make it easy
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
16 to write code to command/interact with GPIB-controlled devices, and,
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
17 as a corrolary, make it easy to write "description" code for specific
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
18 test equipments.
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
19
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
20 Features
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
21 ========
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
22
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
23 - Control GPIB devices using cheap Prologix_ USB-GPIB devices using a
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
24 "high" level API; some other GPIB backends could be implemented, but
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
25 I for now only have a Prologix USB bundle...
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
26
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
27 - A simple (and incomplete) GPIB plotter is available.
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
28
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
29 - Infrastructure to "easily" create description of a specific test
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
30 equipment.
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
31
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
32 Known test equipment
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
33 ====================
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
34
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
35 For now, the following test equipment have been (partially)
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
36 implemented:
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
37
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
38 - HP 3562A/3563A Dynamic Signal Analyzer
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
39 - Simple GPIB plotter
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
40
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
41 The devices I should implement soon (well, ASAP):
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
42
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
43 - HP 8904A Signal Synthetizer
67
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
44 - HP 3456A Meter
63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
45
72
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
46 =======
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
47 Tools
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
48 =======
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
49
73
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
50 Every tool presented in this section can be found in the `bin`
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
51 directory, and can display a *help* message using the ``-h`` or
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
52 ``--help`` option.
72
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
53
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
54 For the sake of testing these tools, some example files are proposed
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
55 in the `example` directory.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
56
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
57 `examples/hpgl_plots` are examples of HPGL files (resulting from
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
58 plotting from my HP3562A).
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
59
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
60 `examples/datablocks` are examples of HP3562A state, trace and coords
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
61 datablocks dumped.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
62
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
63 The `mockup` mode of the tools presented below are using these files
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
64 as data source.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
65
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
66
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
67 GUI Tools
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
68 =========
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
69
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
70 qgpibplotter
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
71 ------------
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
72
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
73 This is a little app to emulate a GPIB HPGL plotter.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
74
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
75 Once started, one can load and display a previously saved HPGL file
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
76 (using the File menu).
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
77
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
78 However, the main usage is to use it as a passive device on the GPIB
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
79 bus (default address is 5, but this may be configured in user
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
80 preferences). There is a main "On Line" button which can be in out
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
81 out. When "online", it will receive plots from every device on the
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
82 GPIB bus performing plot commands.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
83
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
84 There is "test" mode, in which a fake GPIB connection will be used
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
85 instead of the real one. So is one want to see *qgpibplotter* in
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
86 action, just run it with the ``-m`` option (mockup). Type
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
87
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
88 qgpibplotter -h
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
89
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
90 for details.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
91
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
92 q3562
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
93 -----
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
94
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
95 This a small GUI application that allow to easily retrieve state, trace
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
96 and coord datablocks from a HP3562A/HP3563A device (see HP manuals of
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
97 these devices for details).
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
98
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
99 There is "test" mode, in which a fake GPIB connection will be used
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
100 instead of the real one. So is one want to see *qgpibplotter* in
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
101 action, just run it with the ``-m`` option (mockup). Type
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
102
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
103 q3562 -h
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
104
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
105 for details.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
106
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
107 Command line tools
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
108 ==================
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
109
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
110 gpib_detect
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
111 -----------
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
112
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
113 Simple GPIB device detector. The computer GPIB device is configured so
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
114 it is the Controller In Charge on the GPIB bus. It takes a while
73
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
115 (several seconds) to run the retection procedure.
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
116
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
117 Once complete, it will simply display the list of devices found on the
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
118 bus, with a decription of the device (if available, ie. if it replies
2645ef311424 small cleanups and doc update
David Douard <david.douard@logilab.fr>
parents: 72
diff changeset
119 to the IDN? command, which is not the case of older devices).
72
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
120
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
121 dump_datablock
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
122 --------------
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
123
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
124 Retrieve a datablock from a HP3562A/HP3563A device. The datablock can
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
125 be the state, trace or coord datablock, and it can use the ASCII,
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
126 BINARY or ANSI dumping mode. The resulting data are saved in a file.
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
127
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
128 read_XXX
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
129 --------
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
130
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
131 These 3 tools can be used to display a datablock previously dumped in
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
132 a file (using *dump_datablock*).
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
133
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
134
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
135 ..
a81d0fd26332 Improve docs.
David Douard <david.douard@logilab.fr>
parents: 67
diff changeset
136 ..
63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
137
67
e6340960fcbe updated introduction doc
David Douard <david.douard@logilab.fr>
parents: 63
diff changeset
138 .. _pygpibtoolkit: http://www.logilab.org/project/pygpibtoolkit
63
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
139 .. _Prologix: http://www.prologix.com
1c0d92f95115 added doc (almost empty) files
David Douard <david.douard@logilab.fr>
parents:
diff changeset
140 .. _Python: http://www.python.org

mercurial