Mon, 17 Dec 2007 18:59:45 +0100
some forgotten added files
13
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
1 | """ |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
2 | HP3562A |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
3 | ======= |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
4 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
5 | Module for communicating with the HP 3562A Digital Signal Analyzer. |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
6 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
7 | Subpackages |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
8 | ----------- |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
9 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
10 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
11 | Constants |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
12 | --------- |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
13 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
14 | """ |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
15 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
16 | from gpib import gpib |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
17 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
18 | ##################### |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
19 | # HP3562A constants |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
20 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
21 | # GPIB buffer size is 3x80 characters lines |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
22 | class STATUS_BYTE(gpib.Constants): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
23 | # HP3562A Status Byte, as returned by a serial poll |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
24 | _constants = [(0x40, "RQS", "Request Service"), # when sent in response to a serial poll |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
25 | (0x20, "ERR", "GPIB error"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
26 | (0x10, "RDY", "ready to accept GPIB commands"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
27 | ] |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
28 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
29 | conditions = [(0, "NSR", "No service requested"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
30 | (1, "USRQ1", "User SRQ #1"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
31 | (2, "USRQ1", "User SRQ #2"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
32 | (3, "USRQ1", "User SRQ #3"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
33 | (4, "USRQ1", "User SRQ #4"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
34 | (5, "USRQ1", "User SRQ #5"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
35 | (6, "USRQ1", "User SRQ #6"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
36 | (7, "USRQ1", "User SRQ #7"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
37 | (8, "USRQ1", "User SRQ #8"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
38 | (9, "EOD", "End of disk action"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
39 | (10, "EOP", "End of plot action"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
40 | (11, "STCH", "Instrument status changed"), # any change in |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
41 | # the status register sets this condition |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
42 | (12, "PWR", "Power on"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
43 | (13, "KEY", "Key pressed"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
44 | (14, "DCP", "Device clear plotter (listen)"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
45 | # ... |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
46 | ] |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
47 | def __init__(self): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
48 | super(STATUS_BYTE, self).__init__() |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
49 | self._conditions = dict([(x[0], x[1]) for x in self.conditions]) |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
50 | self._rev_conditions = dict([(x[1], x[0]) for x in self.conditions]) |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
51 | self._long_conditions = dict([(x[0], x[2]) for x in self.conditions]) |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
52 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
53 | def byte_condition(self, byte): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
54 | byte = byte & 0x8F |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
55 | return self._conditions.get(byte, "N/A") |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
56 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
57 | class IS_REGISTER(gpib.Constants): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
58 | _constants = [(0x01, "MEASP", "measeurement pause"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
59 | (0x02, "ASQP", "Auto sequence pause"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
60 | (0X04, "EOM", "End of measurement, capture or throughput"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
61 | (0x08, "EOAS", "End of auto sequence"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
62 | (0x10, "SWPR", "Sweep point ready"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
63 | (0x20, "CH1OV", "Channel 1 overrange"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
64 | (0x40, "CH2OV", "Channel 2 overrange"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
65 | (0X80, "CH1HR", "Channel 1 half range"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
66 | (0x100, "CH2HR", "Channel 2 half range"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
67 | (0x200, "SFALT", "Source falt"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
68 | (0x400, "RUNL", "Reference unlock"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
69 | (0x800, "RMKT", "Remote marker knob turn"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
70 | (0x1000, "REKT", "Remote entry knob turn"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
71 | (0x2000, "ASRC", "Asctive Status Register changed"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
72 | (0x4000, "PWRF", "Power-on test failed"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
73 | ] |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
74 | |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
75 | class StatusQuery(gpib.Constants): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
76 | _command = "STA?" |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
77 | _constants = [(0x01, "N/A", "Not used"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
78 | (0x02, "N/A", "Not used"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
79 | (0x04, "KEY", "Key pressed"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
80 | (0x08, "N/A", "Not used"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
81 | (0x10, "RDY", "Ready"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
82 | (0x20, "ERR", "Error"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
83 | (0x40, "RQS", "Request"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
84 | (0x80, "MOS", "Message on screen"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
85 | (0x100, "MEASP", "measeurement pause"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
86 | (0x200, "ASQP", "Auto sequence pause"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
87 | (0X400, "EOM", "End of measurement, capture or throughput"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
88 | (0x800, "EOAS", "End of auto sequence"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
89 | (0x1000, "SWPR", "Sweep point ready"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
90 | (0x2000, "CH1OV", "Channel 1 overrange"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
91 | (0x4000, "CH2OV", "Channel 2 overrange"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
92 | (0x8000, "MAOV", "Math overflow"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
93 | ] |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
94 | class ActivityStatysRegister(gpib.Constants): |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
95 | _command = "AS?" |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
96 | _constants = [(0x01, "CKFL", "Check fault log"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
97 | (0x02, "FITR", "Filling time record"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
98 | (0x04, "FLTR", "Filters settings"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
99 | (0x08, "CFTP", "Curve fir in progress"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
100 | (0x10, "MSSM", "Missed sample"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
101 | (0x20, "TMPR", "Timed preview"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
102 | (0x40, "ACDA", "Accept date"), |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
103 | #... |
78e3e839658b
some forgotten added files
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
104 | ] |