Skip to content

incorrect setpoints when looping on a time parameter

Created by: sldesnoo-Delft

The setpoints of a segment and sequence are incorrect when a time parameter is used as a looping variable.

Example to reproduce: wait1 = lp.linspace(1, 500, 100, axis=0, unit = 'ns', name='Time') pulse_container.P1.add_block(0, 100, 0) pulse_container.P1.reset_time() pulse_container.P1.add_block(0, wait1, 10) pulse_container.P1.reset_time() pulse_container.P1.add_block(0, 200, -10)

seq = pulse.mk_sequence([pulse_container]) seq.setpoints # the range of the setpoints is [301 ... 800], instead of [1 ... 500]

The setpoints get completely mixed up when 2 time parameters are used in a 2-dimensional loop. Example: wait1 = lp.linspace(1, 500, 20, axis=0, unit = 'ns', name='Time') wait2 = lp.linspace(1, 200, 10, axis=1, unit = 'ns', name='Time')

pulse_container.P1.add_block(0, 100, 0) pulse_container.reset_time() pulse_container.P1.add_block(0, wait1, 10) pulse_container.reset_time() pulse_container.P1.add_block(0, wait2, -10) pulse_container.reset_time()

seq = pulse.mk_sequence([pulse_container]) seq.setpoints # these setpoints have the wrong shape and wrong values.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information