MCPcopy Create free account
hub / github.com/LabPy/lantz / LantzSignalGenerator

Class LantzSignalGenerator

lantz/drivers/examples/fungen.py:17–109  ·  view source on GitHub ↗

Lantz Signal Generator

Source from the content-addressed store, hash-verified

15
16
17class LantzSignalGenerator(MessageBasedDriver):
18 """Lantz Signal Generator
19 """
20
21 DEFAULTS = {'COMMON': {'write_termination': '\n',
22 'read_termination': '\n'}}
23
24
25 def query(self, command, *, send_args=(None, None), recv_args=(None, None)):
26 answer = super().query(command, send_args=send_args, recv_args=recv_args)
27 if answer == 'ERROR':
28 raise InstrumentError
29 return answer
30
31 @Feat(read_once=True)
32 def idn(self):
33 return self.query('?IDN')
34
35 @Feat(units='V', limits=(10,))
36 def amplitude(self):
37 """Amplitude.
38 """
39 return float(self.query('?AMP'))
40
41 @amplitude.setter
42 def amplitude(self, value):
43 self.query('!AMP {:.1f}'.format(value))
44
45 @Feat(units='V', limits=(-5, 5, .01))
46 def offset(self):
47 """Offset.
48 """
49 return float(self.query('?OFF'))
50
51 @offset.setter
52 def offset(self, value):
53 self.query('!OFF {:.1f}'.format(value))
54
55 @Feat(units='Hz', limits=(1, 1e+5))
56 def frequency(self):
57 """Frequency.
58 """
59 return float(self.query('?FRE'))
60
61 @frequency.setter
62 def frequency(self, value):
63 self.query('!FRE {:.2f}'.format(value))
64
65 @Feat(values={True: 1, False: 0})
66 def output_enabled(self):
67 """Analog output enabled.
68 """
69 return int(self.query('?OUT'))
70
71 @output_enabled.setter
72 def output_enabled(self, value):
73 self.query('!OUT {}'.format(value))
74

Callers 1

featscan.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected