HP3562A/__init__.py

Mon, 17 Dec 2007 18:59:45 +0100

author
David Douard <david.douard@logilab.fr>
date
Mon, 17 Dec 2007 18:59:45 +0100
changeset 13
78e3e839658b
child 14
07e2cbf140df
permissions
-rw-r--r--

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 ]

mercurial