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.