Wed, 16 May 2018 09:10:55 +0200
[HP3562A] replace matplotlib with pytgraph
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 | 46 | ======= |
47 | Tools | |
48 | ======= | |
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 | 53 | |
54 | For the sake of testing these tools, some example files are proposed | |
55 | in the `example` directory. | |
56 | ||
57 | `examples/hpgl_plots` are examples of HPGL files (resulting from | |
58 | plotting from my HP3562A). | |
59 | ||
60 | `examples/datablocks` are examples of HP3562A state, trace and coords | |
61 | datablocks dumped. | |
62 | ||
63 | The `mockup` mode of the tools presented below are using these files | |
64 | as data source. | |
65 | ||
66 | ||
67 | GUI Tools | |
68 | ========= | |
69 | ||
70 | qgpibplotter | |
71 | ------------ | |
72 | ||
73 | This is a little app to emulate a GPIB HPGL plotter. | |
74 | ||
75 | Once started, one can load and display a previously saved HPGL file | |
76 | (using the File menu). | |
77 | ||
78 | However, the main usage is to use it as a passive device on the GPIB | |
79 | bus (default address is 5, but this may be configured in user | |
80 | preferences). There is a main "On Line" button which can be in out | |
81 | out. When "online", it will receive plots from every device on the | |
82 | GPIB bus performing plot commands. | |
83 | ||
84 | There is "test" mode, in which a fake GPIB connection will be used | |
85 | instead of the real one. So is one want to see *qgpibplotter* in | |
86 | action, just run it with the ``-m`` option (mockup). Type | |
87 | ||
88 | qgpibplotter -h | |
89 | ||
90 | for details. | |
91 | ||
92 | q3562 | |
93 | ----- | |
94 | ||
95 | This a small GUI application that allow to easily retrieve state, trace | |
96 | and coord datablocks from a HP3562A/HP3563A device (see HP manuals of | |
97 | these devices for details). | |
98 | ||
99 | There is "test" mode, in which a fake GPIB connection will be used | |
100 | instead of the real one. So is one want to see *qgpibplotter* in | |
101 | action, just run it with the ``-m`` option (mockup). Type | |
102 | ||
103 | q3562 -h | |
104 | ||
105 | for details. | |
106 | ||
107 | Command line tools | |
108 | ================== | |
109 | ||
110 | gpib_detect | |
111 | ----------- | |
112 | ||
113 | Simple GPIB device detector. The computer GPIB device is configured so | |
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 | 120 | |
121 | dump_datablock | |
122 | -------------- | |
123 | ||
124 | Retrieve a datablock from a HP3562A/HP3563A device. The datablock can | |
125 | be the state, trace or coord datablock, and it can use the ASCII, | |
126 | BINARY or ANSI dumping mode. The resulting data are saved in a file. | |
127 | ||
128 | read_XXX | |
129 | -------- | |
130 | ||
131 | These 3 tools can be used to display a datablock previously dumped in | |
132 | a file (using *dump_datablock*). | |
133 | ||
134 | ||
135 | .. | |
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 |