Skip to content

Commit 88ad4fb

Browse files
committedOct 14, 2014
pdq2: pep8
1 parent ea0773c commit 88ad4fb

File tree

2 files changed

+75
-70
lines changed

2 files changed

+75
-70
lines changed
 

‎artiq/devices/pdq2com.py

+48-46
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def write(self, data):
2424
written = self.dev.write(data)
2525
if written < 0:
2626
raise pylibftdi.FtdiError(written,
27-
self.dev.get_error_string())
27+
self.dev.get_error_string())
2828
return written
2929

3030
def close(self):
@@ -82,31 +82,31 @@ class Pdq2:
8282
"""
8383
PDQ DAC (a.k.a. QC_Waveform)
8484
"""
85-
max_val = 1<<15 # signed 16 bit DAC
85+
max_val = 1 << 15 # signed 16 bit DAC
8686
max_out = 10.
87-
freq = 50e6 # samples/s
88-
max_time = 1<<16 # unsigned 16 bit timer
87+
freq = 50e6 # samples/s
88+
max_time = 1 << 16 # unsigned 16 bit timer
8989
num_dacs = 3
9090
num_frames = 8
9191
num_channels = 9
92-
max_data = 4*(1<<10) # 8kx16 8kx16 4kx16
92+
max_data = 4*(1 << 10) # 8kx16 8kx16 4kx16
9393
escape_char = b"\xa5"
9494
cordic_gain = 1.
9595
for i in range(16):
9696
cordic_gain *= np.sqrt(1 + 2**(-2*i))
9797

9898
commands = {
99-
"RESET_EN": b"\x00",
100-
"RESET_DIS": b"\x01",
101-
"TRIGGER_EN": b"\x02",
102-
"TRIGGER_DIS": b"\x03",
103-
"ARM_EN": b"\x04",
104-
"ARM_DIS": b"\x05",
105-
"DCM_EN": b"\x06",
106-
"DCM_DIS": b"\x07",
107-
"START_EN": b"\x08",
108-
"START_DIS": b"\x09",
109-
}
99+
"RESET_EN": b"\x00",
100+
"RESET_DIS": b"\x01",
101+
"TRIGGER_EN": b"\x02",
102+
"TRIGGER_DIS": b"\x03",
103+
"ARM_EN": b"\x04",
104+
"ARM_DIS": b"\x05",
105+
"DCM_EN": b"\x06",
106+
"DCM_DIS": b"\x07",
107+
"START_EN": b"\x08",
108+
"START_DIS": b"\x09",
109+
}
110110

111111
def __init__(self, serial=None):
112112
self.serial = serial
@@ -123,8 +123,8 @@ def write_cmd(self, cmd):
123123
return self.write(self.cmd(cmd))
124124

125125
def escape(self, data):
126-
return data.replace(self.escape_char, self.escape_char +
127-
self.escape_char)
126+
return data.replace(self.escape_char,
127+
self.escape_char + self.escape_char)
128128

129129
def write(self, *segments):
130130
"""
@@ -158,13 +158,13 @@ def interpolate(self, t, v, order, shift=0, tr=None):
158158
if tr is None:
159159
tr = t
160160
dv = [interpolate.splev(tr[:-1], spline, der=i)
161-
for i in range(order + 1)]
161+
for i in range(order + 1)]
162162
# correct for adder chain latency
163163
correction_map = [
164-
(1, -1/2., 2),
165-
(1, -1/6., 3),
166-
(2, -1., 3),
167-
]
164+
(1, -1/2., 2),
165+
(1, -1/6., 3),
166+
(2, -1., 3),
167+
]
168168
for i, c, j in correction_map:
169169
if j >= len(dv):
170170
break
@@ -180,14 +180,14 @@ def pack_frame(self, *parts_dtypes):
180180
frame.append((part >> 32).astype("<i2"))
181181
else:
182182
frame.append(part.astype("<" + dtype))
183-
frame = np.rec.fromarrays(frame) # interleave
183+
frame = np.rec.fromarrays(frame) # interleave
184184
logger.debug("frame %s dtype %s shape %s length %s",
185-
frame, frame.dtype, frame.shape, len(bytes(frame.data)))
185+
frame, frame.dtype, frame.shape, len(bytes(frame.data)))
186186
return bytes(frame.data)
187187

188188
def frame(self, t, v, p=None, f=None,
189-
order=3, aux=None, shift=0, trigger=True, end=True,
190-
silence=False, stop=True, clear=True, wait=False):
189+
order=3, aux=None, shift=0, trigger=True, end=True,
190+
silence=False, stop=True, clear=True, wait=False):
191191
"""
192192
serialize frame data
193193
voltages in volts, times in seconds
@@ -204,17 +204,17 @@ def frame(self, t, v, p=None, f=None,
204204
parts = []
205205

206206
head = np.zeros(len(t) - 1, "<u2")
207-
head[:] |= length # 4
207+
head[:] |= length # 4
208208
if p is not None:
209-
head[:] |= 1<<4 # typ # 2
210-
head[0] |= trigger<<6 # 1
211-
head[-1] |= (not stop and silence)<<7 # 1
209+
head[:] |= 1 << 4 # typ # 2
210+
head[0] |= trigger << 6 # 1
211+
head[-1] |= (not stop and silence) << 7 # 1
212212
if aux is not None:
213-
head[:] |= aux[:len(head)]<<8 # 1
214-
head[:] |= shift<<9 # 4
215-
head[-1] |= (not stop and end)<<13 # 1
216-
head[0] |= clear<<14 # 1
217-
head[-1] |= (not stop and wait)<<15 # 1
213+
head[:] |= aux[:len(head)] << 8 # 1
214+
head[:] |= shift << 9 # 4
215+
head[-1] |= (not stop and end) << 13 # 1
216+
head[0] |= clear << 14 # 1
217+
head[-1] |= (not stop and wait) << 15 # 1
218218
parts.append((head, "u2"))
219219

220220
t, tr, dt = self.line_times(t, shift)
@@ -243,19 +243,21 @@ def frame(self, t, v, p=None, f=None,
243243

244244
if stop:
245245
if p is not None:
246-
frame += struct.pack("<HH hiihih H ii", (15<<0) | (1<<4) |
247-
(silence<<7) | (end<<13) | (wait<<15),
248-
1, int(v[-1]*2**15), 0, 0, 0, 0, 0,
249-
int(p[-1]*2**16), int(f[-1]*2**31), 0)
246+
frame += struct.pack("<HH hiihih H ii", (15 << 0) | (1 << 4) |
247+
(silence << 7) |
248+
(end << 13) |
249+
(wait << 15),
250+
1, int(v[-1]*2**15), 0, 0, 0, 0, 0,
251+
int(p[-1]*2**16), int(f[-1]*2**31), 0)
250252
else:
251-
frame += struct.pack("<HH h", (2<<0) |
252-
(silence<<7) | (end<<13) | (wait << 15),
253-
1, int(v[-1]*2**15))
253+
frame += struct.pack("<HH h", (2 << 0) | (silence << 7) |
254+
(end << 13) | (wait << 15),
255+
1, int(v[-1]*2**15))
254256
return frame
255257

256258
def line(self, dt, v=(), a=(), p=(), f=(), typ=0,
257-
silence=False, end=False, trigger=False, aux=False,
258-
clear=False):
259+
silence=False, end=False, trigger=False, aux=False,
260+
clear=False):
259261
raise NotImplementedError
260262
fmt = "<HH"
261263
parts = [0, int(round(dt*self.freq))]
@@ -292,7 +294,7 @@ def map_frames(self, frames, map=None):
292294
def add_mem_header(self, board, dac, data, adr=0):
293295
assert dac in range(self.num_dacs)
294296
head = struct.pack("<HHH", (board << 4) | dac,
295-
adr, adr + len(data)//2 - 1)
297+
adr, adr + len(data)//2 - 1)
296298
return head + data
297299

298300
def multi_frame(self, times_voltages, channel, map=None, **kwargs):

‎frontend/pdq2

+27-24
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,39 @@ def _main():
1717
Evaluates times and voltages, interpolates and uploads
1818
them.""")
1919
parser.add_argument("-s", "--serial", default=None,
20-
help="device (FT245R) serial string [first]")
20+
help="device (FT245R) serial string [first]")
2121
parser.add_argument("-c", "--channel", default=0, type=int,
22-
help="channel: 3*board_num+dac_num [%(default)s]")
22+
help="channel: 3*board_num+dac_num [%(default)s]")
2323
parser.add_argument("-f", "--frame", default=0, type=int,
24-
help="frame [%(default)s]")
24+
help="frame [%(default)s]")
2525
parser.add_argument("-e", "--free", default=False,
26-
action="store_true",
27-
help="software trigger [%(default)s]")
26+
action="store_true",
27+
help="software trigger [%(default)s]")
2828
parser.add_argument("-n", "--disarm", default=False,
29-
action="store_true",
30-
help="disarm group [%(default)s]")
29+
action="store_true",
30+
help="disarm group [%(default)s]")
3131
parser.add_argument("-t", "--times",
32-
default="np.arange(5)*1e-6",
33-
help="sample times (s) [%(default)s]")
32+
default="np.arange(5)*1e-6",
33+
help="sample times (s) [%(default)s]")
3434
parser.add_argument("-v", "--voltages",
35-
default="(1-np.cos(t/t[-1]*2*np.pi))/2",
36-
help="sample voltages (V) [%(default)s]")
35+
default="(1-np.cos(t/t[-1]*2*np.pi))/2",
36+
help="sample voltages (V) [%(default)s]")
3737
parser.add_argument("-o", "--order", default=3, type=int,
38-
help="interpolation (0: const, 1: lin, 2: quad, 3: cubic)"
39-
" [%(default)s]")
38+
help="interpolation"
39+
" (0: const, 1: lin, 2: quad, 3: cubic)"
40+
" [%(default)s]")
4041
parser.add_argument("-m", "--dcm", default=None, type=int,
41-
help="choose fast 100MHz clock [%(default)s]")
42+
help="choose fast 100MHz clock [%(default)s]")
4243
parser.add_argument("-x", "--demo", default=False, action="store_true",
43-
help="demo mode: pulse and chirp, 1V*ch+0.1V*frame [%(default)s]")
44+
help="demo mode: pulse and chirp,"
45+
" 1V*ch+0.1V*frame [%(default)s]")
4446
parser.add_argument("-p", "--plot", help="plot to file [%(default)s]")
4547
parser.add_argument("-d", "--debug", default=False,
46-
action="store_true", help="debug communications")
48+
action="store_true", help="debug communications")
4749
parser.add_argument("-r", "--reset", default=False,
48-
action="store_true", help="do reset before")
50+
action="store_true", help="do reset before")
4951
parser.add_argument("-b", "--bit", default=False,
50-
action="store_true", help="do bit test")
52+
action="store_true", help="do bit test")
5153

5254
args = parser.parse_args()
5355

@@ -87,8 +89,8 @@ def _main():
8789
f.append(b"".join([
8890
dev.frame(times, vi, order=args.order, end=False),
8991
dev.frame(2*times, voltages, pi, fi, trigger=False),
90-
#dev.frame(2*times, 0*vi+.1, 0*pi, 0*fi+1e6),
91-
#dev.frame(times, 0*vi, order=args.order, silence=True),
92+
# dev.frame(2*times, 0*vi+.1, 0*pi, 0*fi+1e6),
93+
# dev.frame(times, 0*vi, order=args.order, silence=True),
9294
]))
9395
board, dac = divmod(channel, dev.num_dacs)
9496
dev.write_data(dev.add_mem_header(board, dac, dev.map_frames(f)))
@@ -97,14 +99,15 @@ def _main():
9799
t = np.arange(2*16) * 1.
98100
v = [-1, 0, -1]
99101
for i in range(15):
100-
vi = 1<<i
102+
vi = 1 << i
101103
v.extend([vi - 1, vi])
102-
v = np.array(v)*dev.max_out/(1<<15)
104+
v = np.array(v)*dev.max_out/(1 << 15)
103105
t, v = t[:3], v[:3]
104-
#print(t, v)
106+
# print(t, v)
105107
for channel in range(dev.num_channels):
106108
dev.write_data(dev.multi_frame([(t, v)], channel=channel,
107-
order=0, map=map, shift=15, stop=False, trigger=False))
109+
order=0, map=map, shift=15,
110+
stop=False, trigger=False))
108111
else:
109112
tv = [(times, voltages)]
110113
map = [None] * dev.num_frames

0 commit comments

Comments
 (0)
Please sign in to comment.