Skip to content

Commit 535e87d

Browse files
committed
Faster method for generating binary programming data stream
1 parent 12b5794 commit 535e87d

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

labscript_devices/PrawnBlaster/blacs_workers.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -353,11 +353,9 @@ def transition_to_buffered(self, device_name, h5file, initial_values, fresh):
353353
if (fresh or self.smart_cache[pseudoclock] is None) and self.fast_serial:
354354
print('binary programming')
355355
self.prawnblaster.write(b"setb %d %d %d\r\n" % (pseudoclock, 0, len(pulse_program)))
356-
serial_buffer = b''
357-
for i in range(0, len(pulse_program)):
358-
serial_buffer += struct.pack('<I', pulse_program[i]['half_period'])
359-
serial_buffer += struct.pack('<I', pulse_program[i]['reps'])
360-
self.prawnblaster.write(serial_buffer)
356+
program_array = np.array([pulse_program['half_period'],
357+
pulse_program['reps']], dtype='<u4').T
358+
self.prawnblaster.write(program_array.tobytes())
361359
response = self.prawnblaster.readline().decode()
362360
assert (
363361
response == "ok\r\n"

0 commit comments

Comments
 (0)