File: Gpib.py

package info (click to toggle)
linux-gpib-user 4.3.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 1,752 kB
  • sloc: ansic: 10,381; perl: 1,120; xml: 375; makefile: 335; yacc: 335; tcl: 308; python: 173; php: 157; lex: 144; sh: 134; lisp: 94
file content (103 lines) | stat: -rw-r--r-- 2,156 bytes parent folder | download | duplicates (2)
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

import gpib

RQS = (1<<11)
SRQ = (1<<12)
TIMO = (1<<14)


class Gpib(object):
	'''Three ways to create a Gpib object:
	Gpib("name")
		returns a board or device object, from a name in the config file
	Gpib(board_index)
		returns a board object, with the given board number
	Gpib(board_index, pad[, sad[, timeout[, send_eoi[, eos_mode]]]])
		returns a device object, like ibdev()'''

	def __init__(self, name = 'gpib0', pad = None, sad = 0, timeout = 13, send_eoi = 1, eos_mode = 0):
		self._own = False
		if isinstance(name, str):
			self.id = gpib.find(name)
			self._own = True
		elif pad is None:
			self.id = name
		else:
			self.id = gpib.dev(name, pad, sad, timeout, send_eoi, eos_mode)
			self._own = True

	# automatically close descriptor when instance is deleted
	def __del__(self):
		self.close()

	def __repr__(self):
		return "%s(%d)" % (self.__class__.__name__, self.id)


	def close(self):
		if self._own:
			gpib.close(self.id)
			self._own = False

	def command(self,str):
		gpib.command(self.id, str)

	def config(self,option,value):
		self.res = gpib.config(self.id,option,value)
		return self.res

	def interface_clear(self):
		gpib.interface_clear(self.id)

	def write(self,str):
		gpib.write(self.id, str)

	def write_async(self,str):
		gpib.write_async(self.id, str)

	def read(self,len=512):
		self.res = gpib.read(self.id,len)
		return self.res

	def listener(self,pad,sad=0):
		self.res = gpib.listener(self.id,pad,sad)
		return self.res

	def lines(self):
		self.res = gpib.lines(self.id)
		return self.res

	def ask(self,option):
		self.res = gpib.ask(self.id,option)
		return self.res

	def clear(self):
		gpib.clear(self.id)

	def wait(self,mask):
		gpib.wait(self.id,mask)

	def serial_poll(self):
		self.spb = gpib.serial_poll(self.id)
		return self.spb

	def trigger(self):
		gpib.trigger(self.id)

	def remote_enable(self,val):
		gpib.remote_enable(self.id,val)

	def ibloc(self):
		self.res = gpib.ibloc(self.id)
		return self.res

	def ibsta(self):
		self.res = gpib.ibsta()
		return self.res

	def ibcnt(self):
		self.res = gpib.ibcnt()
		return self.res

	def timeout(self,value):
		return gpib.timeout(self.id,value)